我对OCR识别和Python都比较新。
我的目标是从Python脚本中运行Tesseract,以便'识别' .tif 中的某些特定数字。
我想我可以为Tesseract做一些训练,但我在Google和SO上没有找到任何类似的主题。
基本上,我有一些包含几个图像(如'箭头'、'花朵'和其他图标)的.tif文件,并且我希望脚本将其名称作为输出打印出来。如果它发现一个箭头就打印'箭头'。
这可行吗?
我对OCR识别和Python都比较新。
我的目标是从Python脚本中运行Tesseract,以便'识别' .tif 中的某些特定数字。
我想我可以为Tesseract做一些训练,但我在Google和SO上没有找到任何类似的主题。
基本上,我有一些包含几个图像(如'箭头'、'花朵'和其他图标)的.tif文件,并且我希望脚本将其名称作为输出打印出来。如果它发现一个箭头就打印'箭头'。
这可行吗?
这绝不是一个完整的答案,但如果tif中有多个图像并且您事先知道大小,则可以在对它们进行分类之前标准化图像样本。您将把图像切成tif中所有可能的矩形。
因此,当您创建分类器(我不在此处提及方法)时,最终结果将合成所有较小矩形的分类。
因此,如果给定一个tif,'arrow'或'flower'图像为16px x 16px,您可以使用Python PIL创建样本。
from PIL import Image
image_samples = []
im = Image.open("input.tif")
sample_dimensions = (16,16)
for box in get_all_corner_combinations(im, sample_dimensions):
image_samples.append(im.crop(box))
classifier = YourClassifier()
classifications = []
for sample in image_samples:
classifications.append (classifier (sample))
label = fuse_classifications (classifications)
再次强调,我没有讲到实际编写YourClassifier
的学习步骤。但是希望这能帮助解决问题的一部分。
关于学习如何对图像进行分类以及在分类之前清除图像中的噪声方面,有很多研究工作。
建议浏览一下这个不错的现有Python机器学习库集合。
http://scipy-lectures.github.com/advanced/scikit-learn/index.html
还有许多与图像相关的技术。