在Android上使用Opencv + OCR进行数字数字识别
我目前正在开发一个android应用程序来识别电表的数字号码。 我已经完成了大部分工作,但仍然没有取得好成绩。 80%的时间我得到一个虚假的。
这是一个例子(我正在用一个非常类似于电表的厨房秤进行测试):
原始照片:
使用OpenCV进行剪裁和处理后的图像:
OCR后的图像(几次拍摄后的预期结果):
OCR后的图像(经常获得的意外结果):
用OpenCV处理图像的方法:
public Bitmap Bildverarbeitung (Bitmap image){
Mat tmp = new Mat (image.getWidth(), image.getHeight(), CvType.CV_8UC1);
Utils.bitmapToMat(image, tmp);
Imgproc.cvtColor(tmp, tmp, Imgproc.COLOR_RGB2GRAY);
Imgproc.GaussianBlur(tmp, tmp, new Size(3, 3), 0);
Imgproc.threshold(tmp, tmp, 0, 255, Imgproc.THRESH_OTSU);
Utils.matToBitmap(tmp, image);
return image;
}
我使用了两个训练数据,但只有一个更好:
训练有素的数据
训练数据不起作用
任何人都可以帮助我获得更好的结果..我能做些什么改变吗? 或我可以申请的其他方法? 提前致谢
链接地址: http://www.djcxy.com/p/79653.html上一篇: Digital numbers recognition with Opencv + OCR on android
下一篇: What is the best way of recognizing handwritten symbols and texts?