Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用OpenCV和Python检测和修复连接/重叠的字母(OCR的分段)?_Python_Opencv_Image Processing_Ocr_Watershed - Fatal编程技术网

如何使用OpenCV和Python检测和修复连接/重叠的字母(OCR的分段)?

如何使用OpenCV和Python检测和修复连接/重叠的字母(OCR的分段)?,python,opencv,image-processing,ocr,watershed,Python,Opencv,Image Processing,Ocr,Watershed,对于OCR程序,我在分割连接或重叠文本时遇到问题。我在处理泰晤士报的新罗马字体。在这种字体中,字母如fb、fh、fi、fj、fk、fl等在顶部相互连接。(见下图)。这主要见于衬线字体 采用泰晤士报新罗马字体的字母和分水岭算法的结果: 显然,轮廓检测将对这两个字母进行单一分割。所以,我尝试了分水岭算法。正如您在上图中所看到的,它确实检测到了重叠,但我发现了另一个问题。字母“f”的薄薄部分也被分成了另一段,但我想要整个“f”。我知道这是因为我用的那个记号笔。(见下文) 我用于分水岭的标记: 还有

对于OCR程序,我在分割连接或重叠文本时遇到问题。我在处理泰晤士报的新罗马字体。在这种字体中,字母如fb、fh、fi、fj、fk、fl等在顶部相互连接。(见下图)。这主要见于衬线字体

采用泰晤士报新罗马字体的字母和分水岭算法的结果:

显然,轮廓检测将对这两个字母进行单一分割。所以,我尝试了分水岭算法。正如您在上图中所看到的,它确实检测到了重叠,但我发现了另一个问题。字母“f”的薄薄部分也被分成了另一段,但我想要整个“f”。我知道这是因为我用的那个记号笔。(见下文)

我用于分水岭的标记:

还有,是否有人知道如何检测字母是否重叠,这样我就可以只对重叠部分应用分水岭算法


那么如何解决这个问题呢?我是否使用了正确的方法,即分水岭来解决这个问题?有人知道更好的解决方法吗?

对于您正在处理的图像,您可以假设哪些方面?你能估计一下字体大小吗?你事先知道字体的类型吗?如果没有透视变形,这些字母看起来就像你添加的图像一样?你尝试过形态学操作吗?