views:

197

answers:

2

Hi,

I am trying to detect the numbers written on a grid and then process them using the iPhone camera. What i have found till yet are some good examples like:

http://blog.damiles.com/?p=93

http://cmgresearch.blogspot.com/2010/01/augmented-reality-on-iphone-how-to_01.html

Although I am able to draw the numbers on the overlay view to a good extent but still not able to detect what these numbers are.

Edit

Hi guys I found a link on http://github.com/nolanbrown/Tesseract-iPhone-Demo from where I downloaded the code and started testing, but it only ran once but didn't gave any output and since then its crashing give me the following error logs:

#0  0x0007b718 in TessBaseAPI::HistogramRect ()
#1  0x0007bc04 in TessBaseAPI::OtsuThreshold ()
#2  0x0007c4a8 in TessBaseAPI::CopyImageToTesseract ()
#3  0x0007cd8c in TessBaseAPI::TesseractRect ()
#4  0x0006cdb4 in -[OCRDemoViewController ocrImage:] (self=0x31ec40, _cmd=0x201ba7, uiImage=0x34ed00) at /Users/madhup/Tesseract-iPhone-Demo/OCRDemo/Classes/OCRDemoViewController.mm:131
#5  0x0006c6d0 in -[OCRDemoViewController imagePickerController:didFinishPickingImage:editingInfo:] (self=0x31ec40, _cmd=0x334fcf80, picker=0x348ba0, image=0x35c470, editingInfo=0x0) at /Users/ngamacbook/Tesseract-iPhone-Demo/OCRDemo/Classes/OCRDemoViewController.mm:213
#6  0x32d103ec in -[UIImagePickerController _imagePickerDidCompleteWithInfo:] ()
#7  0x3296ceac in PLNotifyImagePickerOfImageAvailability ()
#8  0x3297e49e in -[PLUICameraViewController cameraView:photoSaved:] ()
#9  0x3294d134 in -[PLCameraView cropOverlay:didFinishSaving:] ()
#10 0x3294d344 in -[PLCameraView cropOverlayWasOKed:] ()
#11 0x3295dfb2 in -[PLCropOverlay cropOverlayBottomBarDoneButtonClicked:] ()
#12 0x329801e0 in -[PLCropOverlayBottomBar doneButtonClicked:] ()
#13 0x32569ee4 in -[NSObject performSelector:withObject:withObject:] ()
#14 0x32ba2064 in -[UIApplication sendAction:to:from:forEvent:] ()
#15 0x32ba2004 in -[UIApplication sendAction:toTarget:fromSender:forEvent:] ()
#16 0x32ba1fd6 in -[UIControl sendAction:to:forEvent:] ()
#17 0x32ba1d30 in -[UIControl(Internal) _sendActionsForEvents:withEvent:] ()
#18 0x32ba2644 in -[UIControl touchesEnded:withEvent:] ()
#19 0x32ba165c in -[UIWindow _sendTouchesForEvent:] ()
#20 0x32ba1038 in -[UIWindow sendEvent:] ()
#21 0x32b9d92e in -[UIApplication sendEvent:] ()
#22 0x32b9d3a6 in _UIApplicationHandleEvent ()
#23 0x32913b78 in PurpleEventCallback ()
#24 0x32567c2c in CFRunLoopRunSpecific ()
#25 0x3256735c in CFRunLoopRunInMode ()
#26 0x32912cbe in GSEventRunModal ()
#27 0x32912d6a in GSEventRun ()
#28 0x32b6276e in -[UIApplication _run] ()
#29 0x32b61472 in UIApplicationMain ()
#30 0x0006c2cc in main (argc=1, argv=0x2ffff5dc) at /Users/madhup/Tesseract-iPhone-Demo/OCRDemo/main.mm:14

Now going on line 131 I find

char* text = tess->TesseractRect(imageData,(int)bytes_per_pixel,(int)bytes_per_line, 0, 0,(int) imageSize.height,(int) imageSize.width);

but I am not able to step-in or find any way to resolve the issue, any body know this please help. I am into this for last 4 days and not moved a single step ahead.

Thanks, Madhup

+1  A: 

You can use the very nice tesseract open-source OCR engine. Just do your image processing as extracting stuff which you guess are numbers and feed them to tesseract. Tesseract should compile on iPhone, but there should be some precompiled binaries out already. I do not know how it performs on hand-written stuff, but numbers might be ok. However, I assume you'll always get troubles to differ between e.g. 2 and 7...

zerm
Please see my edit and comment if you can help about it
Madhup
A: 

Any answer yet? I am stuck on the exact same line in the code!

CRiv