如何在图像上分割连接的字符以进行进一步的OCR



OriginalImage1

二进制图像1

原始图像2

二进制图像2

原始图像3

二进制图像3

原始图像4

二进制图像4

我正在为Tesseract在Java(使用OpenCV库)上的OCR准备图像(为这个自定义字体预先训练)。

有一个蓝色文本的图像,通过OpenCV inRange()方法调整图像大小并进行二值化后,我有一个黑白图像,但有些字母是连接的,Tesseract有时会在它们上出错。此外,还有一些问题:原始文本很小,它的边界像素总是有点不同的RGB值,背景也总是不同。

我试图增加inRange()方法捕获的像素数,但得到了更多的连接字符。在捕获的像素数量减少后,一些字母变得几乎看不见,Tesseract无法读取它们。

请告诉我如何在二值化图像上用白色分割这些字符。或者可能有更有效的方法从彩色图像中提取文本?任何文本提取/识别建议都是好的,不仅适用于Tesseract和OpenCV。

图像上的所有文本都是蓝色。在第一步中,尝试使用这个tesseract用户论坛中描述的方法(颜色过滤)。它在python中,但在java中可能有类似的东西。

最新更新