将图像预处理操作应用于EmguCV中的文本识别的最佳图像预处理操作是什么?用于文本识别的图像预处理
我已经包含两个示例图像here。
应用低通滤波器或高通滤波器将不适合,因为文本可能具有任何大小。我试过了中位数和双边滤波器,但它们似乎并没有太大影响图像。
理想的结果是一个二进制图像,所有文本都是白色的,其余大部分都是黑色的。这个图像将被发送到OCR引擎。
谢谢
将图像预处理操作应用于EmguCV中的文本识别的最佳图像预处理操作是什么?用于文本识别的图像预处理
我已经包含两个示例图像here。
应用低通滤波器或高通滤波器将不适合,因为文本可能具有任何大小。我试过了中位数和双边滤波器,但它们似乎并没有太大影响图像。
理想的结果是一个二进制图像,所有文本都是白色的,其余大部分都是黑色的。这个图像将被发送到OCR引擎。
谢谢
没有什么比最佳设置。请记住,数字图像可以通过不同的捕捉设备获取,每个设备可以嵌入自己的预处理系统(过滤器)和其他特性,可以彻底改变图像,甚至为它们添加噪音。所以每个案例都必须以不同的方式进行处理(预处理)。
然而,有commmon操作可以用来完善的检测,例如,一个很基本的一个将是为灰度和应用threshold二值化图像的图像转换。我之前使用的另一种技术是the bounding box,它允许您检测文本区域。为了消除图像中的噪音,您可能会对腐蚀/扩张操作感兴趣。我在this post上演示了一些这些操作。
此外,大约有OCR和OpenCV其他有趣的帖子,你应该看看:
现在,只要向你展示一个简单的方法,可以与您的示例图像一起使用,这是反转颜色并应用阈值的结果:
cv::Mat new_img = cv::imread(argv[1]);
cv::bitwise_not(new_img, new_img);
double thres = 100;
double color = 255;
cv::threshold(new_img, new_img, thres, color, CV_THRESH_BINARY);
cv::imwrite("inv_thres.png", new_img);
请问您可以在这里上传这些示例图片吗?链接给出403禁止 – Alupotha 2017-01-29 01:34:55