zoukankan      html  css  js  c++  java
  • 使用ImageMagick和Tesseract进行简单数字图像识别

    使用ImageMagick和Tesseract进行简单数字图像识别

    由于直接使用 tesseract 进行识别,识别率很低, 

    ImageMagick 安装、配置及使用: 
    平台:winXP 
    1. 安装ImageMagick(ImageMagick website:http://www.imagemagick.org/script/index.php) 
        下载并安装ImageMagick。 http://www.imagemagick.org/script/binary-releases.php#windows

    输入 convert -version 验证是否成功

    
    
    d:>convert  -version
    Version: ImageMagick 6.8.9-4 Q16 x64 2014-06-22 http://www.imagemagick.org
    Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
    Features: DPC Modules OpenMP
    Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps rsv
    g tiff webp xml zlib

     如果命令不能使用把install path加入系统path,以便能调用dll.如D:Program FilesocrImageMagick-6.8.9-Q16 

    下面介绍怎么用Tesseract配合ImageMagick进行简单的数字图像识别。

    首先Tesseract只能识别bmp,tif,所以先拿ImageMagick转换一下图像。注意得无压缩转换,否则Tesseract报错。

    convert -compress none ./S16.gif./S16.tif

    然后将图片灰度化-colorspace Gray,或者直接二值化-monochrome成黑白,这样识别率会高一点。

    接下来裁剪出想要进行精确识别的部分:-crop widthxheight+x+y

    比如-crop 320x40+0+1,从左上角开始坐标为(0,1)处,裁剪出320*40大小的图像。注意参数里是英文字母x,不是乘号*。

    还有就是网上搜到的-depth 8和-alpha off参数,实践表明加不加效果不大。

    一步完成就像这样:

    convert -compress none -depth 8 -alpha off -crop 535x24+2+2 -monochrome ./S16.gif ./S16.tif

    convert.exe:ImageMagick套件的一部分,负责图片格式转换,各个参数的意义如下: 

    • -compress none:转换后的图片不要压缩,如果没有加这一项,后续tesseract处理的时候会报错:read_tif_image:Error:Illegal image format:Compression 
    • -depth 8:设置转换后图像的色深为8位,也就是bpp为8。如果没有此参数,后果如下: 

    Tesseract Open Source OCR Engine 
    check_legal_image_size:Error:Only 1,2,4,5,6,8 bpp are supported:16 
    Segmentation fault 

    • -alpha off:在转换后的图像中不要添加alpha图层。如果没有此参数,后果同上。 
    • -crop 320x40+0+1:从左上角开始坐标为(0,1)处,裁剪出320*40大小的图像。注意参数里是英文字母x,不是乘号*。
    • 紧跟着就是待转换的图片的文件名,
    • 最后是转换后的图片的文件名。

    预处理完之后最好再放大一下,这次的样例放大到500%~600%的识别效率就能令人满意。

    convert  ./S16.tif -scale 600% ./S16B.tif

    然后就可以开始用Tesseract进行识别了。

    tesseract ./S16B.tif ./S16B -l eng -psm 7

    -l eng是选择语言,-psm 7是说源图像是只在一行上的文字。具体说明看Tesseract的帮助。

  • 相关阅读:
    POJ 2236 Wireless Network(并查集)
    POJ 2010 Moo University
    POJ 3614 Sunscreen(贪心,区间单点匹配)
    POJ 2184 Cow Exhibition(背包)
    POJ 1631 Bridging signals(LIS的等价表述)
    POJ 3181 Dollar Dayz(递推,两个long long)
    POJ 3046 Ant Counting(递推,和号优化)
    POJ 3280 Cheapest Palindrome(区间dp)
    POJ 3616 Milking Time(dp)
    POJ 2385 Apple Catching(01背包)
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3817011.html
Copyright © 2011-2022 走看看