使用ImageMagick和Tesseract做中文文本识别
一、用imagemagic对图片进行预处理,以提高识别率
convert -compress none -depth 8 -alpha off -crop 112x15+0+1 -monochrome ./1.png ./1.tif
1.-compress none,必选参数.必须在无压缩模式下进行,否则tesseract可能不接受图片。
2.-depth 8,可选参数。加上据说可以提高识别率。
3.-alpha off,可选参数。加上据说可以提高识别率。
4.-crop ... 可选参数。用来裁掉图片的空白区域和下划线。具体格式为:width x height + x + y,按照矩形区域裁剪,x和y是指矩形。
的左上角的坐标的,width和height是说矩形框的宽高,如果width或者height写0,意思是取当前图片本身的宽或者高。
5.-monochrome,可选参数。是把图片处理成黑白二色,即所谓的二值化,也可以尝试下-colorspace Gray来代替。
convert ./1.tif -scale 300% ./1.tif
放大图片,以提高识别率,少数情况下图片放大后反而识别不出来了。
二、用tesseract来识别图片
tesseract ./1.tif ./1 -l chi_sim -psm 7
1.-l,必选参数。用来指定语言类型,系统默认不支持中文,要到谷歌下载中文语言包,放到tesseract安装目录下的tessdata文件夹中,即chi_sim.traineddata这个文件。
2.-psm 7,可选参数。这个参数用来告诉tesseract目标图片当中只有一行文字,这么做可以提高识别率。