Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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
Python 提取特定颜色的文本,忽略其他颜色_Python_Python Tesseract - Fatal编程技术网

Python 提取特定颜色的文本,忽略其他颜色

Python 提取特定颜色的文本,忽略其他颜色,python,python-tesseract,Python,Python Tesseract,我有图像,需要从该图像的文本。只需要转换为黄色的时间,并且需要忽略背景文本。 我将textract与Python结合使用 我尝试将rgb转换为灰色,但仍然得到垃圾结果。它从后台读取数据 from PIL import Image import pytesseract image_file = Image.open('timeline_with_background_text.png') image_file = image_file.convert('L') # convert image

我有图像,需要从该图像的文本。只需要转换为黄色的时间,并且需要忽略背景文本。 我将textract与Python结合使用

我尝试将rgb转换为灰色,但仍然得到垃圾结果。它从后台读取数据

from PIL import Image
import pytesseract

image_file = Image.open('timeline_with_background_text.png')

image_file = image_file.convert('L') # convert image to black and white
image_file.save('question.png')
text = pytesseract.image_to_string(image_file, lang = 'eng',config='-psm 6')
print(text)

从图像中,只需转换以黄色显示的时间,如“34:53”

您可以使用python中的ImageMagick库来实现这一点

如果你的黄色文本总是完全相同的黄色,也许你可以这样做

首先,获取要保留的黄色的十六进制值。(比方说它是#ffff00)

然后,使用图像魔法将除#ffff00颜色外的任何颜色填充为黑色。这会给你留下一个只显示你时间的图像

convert original.png-填充黑色+不透明“#ffff00”onlyTime.png

如果黄色不总是完全相同,您可以尝试使用
-fuzz
选项


使用您提供的图像,我尝试了以下操作:

\convert.exe C:\YLD2g.png-填充黑色-模糊20%+不透明'#c0861e'C:\onlyTime2.png

结果是:


这对tesseract来说应该足够好了

想法是在将图像传递给tesseract之前应用橙色过滤器。。。你们尝试了什么?谢谢Ziptron,我尝试了多种黄色色调,但每次它将图像转换为黑色时,我都使用下面的命令
convert original.png-fill black+opaque'#c0861e'onlyTime2.png
convert original.png-fill black+opaque'#617614'onlyTime3.png
convert original.png-fill black+opaque'#c19d65'onlyTime4.png
尝试包含fuzz参数(我发布的第二个链接)。可能很难得到黄色的确切值,但fuzz会让你选择与你认为最匹配的颜色相距一定距离的颜色。我能用TestRact做些什么吗?我刚刚试过
\convert.exe C:\YLD2g.png-fill black-fuzz 20%+不透明“#c0861e”C:\onlyTime2.png
,它对我有效。