Digits parsing mobile solution for getting numbers from gas, electricity (...) meters based on Titanium Appcelerator, node.js, tesseract-ocr and imagemagick.

Get source code

Mobile client

Simple and easy to use mobile client for numbers scanning.

Iteractive server managment

Interactive and easy to use server managment console.

Appcelerator Titanium

Simple Titanium Appcelerator integration. Titanium common.js module included.

Server based on node.js

Scalable and robust server technology prepared to process large ammount of requests.


Requirements


Tests

Real pictures taken with iPhone 4 and processed by OCRMeter server application.

Image OCR number Description

5411.2

-

6893

18393.3

160999.3

8722.3

5475.2

311100

5472

5955.1

71.1

-

5944.2

5158.5

5948.5

305541.1

9158.5

511552.3

742100

5472

987210.1

999677.1

119515.1

51157.1


Usage

Titanium Appcelerator usage

var OCRparse = require('lib/OcrParse');
var ocr = new OCRparse();
//get picture and value
ocr.getValue(function(image, value, number) {
				imageView.image = image;//image blob
				valueLabel.text = number;//parsed number eg. 1234.5
				valueLabel._value = value;//parsed value string eg. 12345
			});
/*Update value only*/
ocr.updateValue(valueLabel._value, function(value, number) {
				valueLabel.text = number;//parsed number eg. 1234.5
				valueLabel._value = value;//parsed value string eg. 12345
			   });

Server API

Get server status
GET http://host:port/api/getStatus
Output params:
{
  "version": "0.1.0",
  "debug": "on",
  "status": "running"
}
Get API version
GET http://host:port/api/getVersion
Output params:
{
  "version": "0.1.0"
}
Get value from picture
POST http://host:port/api/parseValue
Input params: Output params:
{
	status: "done",
	ocrValues: [
		"0064750",
		"0054759",
		"9054754",
		"9954754",
		"9954754",
		"9054754"
	],
	value: "9054754",
	number: 905475.4
}

License

Copyright (c) 2012 Miroslav Magda
Licensed under the Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)