用Python识别图像

时间:2012-02-13 10:21:30

标签: python image image-processing ocr

我对OCR识别和Python都很新。

我想要实现的是从Python脚本运行Tesseract来“识别”.tif中的某些特定数字。

我以为我可以为Tesseract做一些培训,但我没有在谷歌和SO上找到任何类似的主题。

基本上我有一些.tif包含几个图像(如'箭头','花'和其他图标),我希望脚本打印输出该图标的名称。如果找到箭头,则打印“箭头”。

可行吗?

1 个答案:

答案 0 :(得分:1)

这绝不是一个完整的答案,但如果tif中有多个图像,并且如果您事先知道尺寸,则可以在对图像样本进行分类之前对其进行标准化。您可以将图像剪切为tif中所有可能的矩形。

所以当你创建一个分类器时(我没有在这里提到这些方法),最终的结果将合成对所有较小的矩形进行分类。

因此,如果给出一个tif,'箭头'或'花'图像是16像素×16像素,比方说,你可以使用 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

还有许多与图像相关的技术。