我有图片,需要该图片中的文字。只需要转换黄色的时间,而忽略背景文本。 我在Python中使用textract
我尝试将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”
答案 0 :(得分:0)
您可以使用python中的ImageMagick库执行此操作。
如果您的黄色文本始终是完全相同的黄色,也许您可以这样做。
首先,获取要保留的黄色的十六进制值。 (让我们说它的#ffff00)。
然后,使用图像魔术来将#ffff00颜色之外的所有颜色填充为黑色。那应该留下一张只显示您的时间的图像。
convert original.png -fill black +opaque '#ffff00' onlyTime.png
https://www.imagemagick.org/script/command-line-options.php#opaque
如果黄色并不总是完全相同,则可以尝试使用-fuzz
选项。
https://www.imagemagick.org/script/command-line-options.php#fuzz
使用您提供的图像,我尝试了以下操作:
.\convert.exe C:\YLD2g.png -fill black -fuzz 20% +opaque '#c0861e' c:\onlyTime2.png
结果是:
对于tesseract来说应该足够了