在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?