Question

Is it possible to detect numbers or text while capturing video in android using opencv or any other best image& video processing api's

Was it helpful?

Solution 2

You will need a capable OCR engine which will try to detect characters by any number of means. Tesseract is a good open source engine which will try to 'parse' your image for characters by masking.

However, there are several steps or approaches you need to take before you feed your OCR engine(Tesseract) your image. In order to ensure more accurate results, you need to 'clean' your image using binarization along with a number of other conventional methods such as 'canny' edge detection. This is where 'OpenCV' can help.

Also, you should isolate/detect characters in images. This can be done with powerful algorithms such as the Stroke Width Transform

Regarding detection on a video stream in android, you can run your captured frames through the cleansing and OCR engine as they are recieved through:

onPreviewFrame(byte[] data, Camera camera)

Also, check out this app which allows OCR in 'continuous preview' mode.

Hope this helps

OTHER TIPS

Yes, you can. OpenCV 3.0.0 includes a text detection tool which is based in Extremal Region detection and classification. You can use this in a video stream. Notice that this is detection, and the results can be used as the input of any OCR (as Tesseract). But remember:

Image -> Text Detection -> Preprocessing (binarization,etc) -> OCR -> Recognized Text

Hope that it helps!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top