2019-06-27(python新知识点: - cv.GaussianBlur() cv中的另一个模糊方法是:cv.blur())

Python08

2019-06-27(python新知识点: - cv.GaussianBlur() cv中的另一个模糊方法是:cv.blur()),第1张

python新知识点:

using namespace std

using namespace cv

void MyClass::day022() {

Mat img = myRead("mm.jpg"), dst1, dst2

imshow("input", img)

blur(img, dst2, Size(5, 5), Point(-1, -1), 4)

GaussianBlur(img, dst1, Size(5, 5), 15, 0, 4)

imshow("GaussianBlur", dst1)

imshow("Blur", dst2)

}

c++新知识点:

Python图片文本识别使用的工具是PIL和pytesser。因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxy

pytesser是OCR开源项目的一个模块,在Python中导入这个模块即可将图片中的文字转换成文本。pytesser调用了tesseract。当在Python中调用pytesser模块时,pytesser又用tesseract识别图片中的文字。pytesser的使用步骤如下:

首先,安装Python2.7版本,这个版本比较稳定,建议使用这个版本。

其次,安装pythoncv。

然后,安装PIL工具,pytesser的使用需要PIL库的支持。

接着下载pytesser

最后,将pytesser解压,这个是免安装的,可以将解压后的文件cut到Python安装目录的Lib\site-packages下直接使用,比如我的安装目录是:C:\Python27\Lib\site-packages,同时把这个目录添加到环境变量之中。

完成以上步骤之后,就可以编写图片文本识别的Python脚本了。参考脚本如下:

from pytesser import *

import ImageEnhance

image = Image.open('D:\\workspace\\python\\5.png')

#使用ImageEnhance可以增强图片的识别率

enhancer = ImageEnhance.Contrast(image)

image_enhancer = enhancer.enhance(4)

print image_to_string(image_enhancer)

tesseract是谷歌的一个对图片进行识别的开源框架,免费使用,现在已经支持中文,而且识别率非常高,这里简要来个helloworld级别的认识

下载之后进行安装,不再演示。

在tesseract目录下,有个tesseract.exe文件,主要调用这个执行文件,用cmd运行到这个目录下,在这个目录下同时放置一张需要识别的图片,这里是123.jpg

然后运行:tesseract 123.jpg result

会把123.jpg自动识别并转换为txt文件到result.txt

但是此时中文识别不好

然后找到tessdata目录,把eng.traineddata替换为chi_sim.traineddata,并且把chi_sim.traineddata重命名为eng.traineddata

ok,现在中文识别基本达到90%以上了

1.在命令行窗口输入python确定自己的版本,我用的是3.6.3

2.我原先就有numpy,就不需要下载了。(没有的自行下载)

3.下载对应版本的opencv,电脑64位的还是32位的要认真看好,下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv,我使用的是opencv_python-3.4.1-cp36-cp36m-win_amd64.whl

4.把下载后的文件解压放在site-packages目录下,要是不知道site-packages目录。可以这样寻找: >>>import sitesite.getsitepackages()

5.在import cv2 就可以使用了