Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
Image processing Tesseract OCR,字幕提取的预处理_Image Processing_Ocr - Fatal编程技术网

Image processing Tesseract OCR,字幕提取的预处理

Image processing Tesseract OCR,字幕提取的预处理,image-processing,ocr,Image Processing,Ocr,我正在尝试使用tesseract对一些灰度视频帧进行OCR。字幕的OCR比文档提取更为复杂,因为文本位于背景框架之上,背景会引入大量噪声,并且可能具有与字幕相似的颜色。字体通常是抗锯齿的,这使得只提取带有阈值的文本变得更加困难,更复杂的是,我正在处理的帧是灰度的,并且已经缩小了比例 以下是一个示例: 在220处设置阈值后得到的结果: 这已经很好了,但正如你所看到的,还有大量的背景,Tesseact无法将其与文本分离 有些技术有一些假设,比如在对接触边界的黑色区域设置阈值后移除,假设文本没有,

我正在尝试使用tesseract对一些灰度视频帧进行OCR。字幕的OCR比文档提取更为复杂,因为文本位于背景框架之上,背景会引入大量噪声,并且可能具有与字幕相似的颜色。字体通常是抗锯齿的,这使得只提取带有阈值的文本变得更加困难,更复杂的是,我正在处理的帧是灰度的,并且已经缩小了比例

以下是一个示例:

在220处设置阈值后得到的结果:

这已经很好了,但正如你所看到的,还有大量的背景,Tesseact无法将其与文本分离

有些技术有一些假设,比如在对接触边界的黑色区域设置阈值后移除,假设文本没有,但这是非常具体的,不适用于很多情况


我正在寻找的是一种可以实时应用并将其推广到其他帧的方法。

您在这方面取得了什么进展?我正在尝试解决一个类似的问题。我没有解决它,但我找到了一种方法来提取一个遮罩,平均来说可以提高一点效果。我做了一个形态学的“边缘插入”(就像ImageMagick中的一个),接着是一系列
n=4
腐蚀,然后
n
膨胀,然后应用OTSU阈值来获得面具。在某些情况下,“边缘输入”转换的结果会提供更好的OCR结果(您甚至可以在结果上应用遮罩来消除一些噪音)。这不是问题的直接答案,因此我将其放在注释中,但指定最小字体大小可能会有所帮助。