您好,登錄后才能下訂單哦!
python中怎么批量識別圖片指定區域的文字,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.aircv
用于識別模板再原始圖的位置坐標
pip install aircv
2.Pillow
用于剪裁圖片
pip install Pillow
3.Tesseract
文字識別
在此也可以用平臺端的API進行更精準的識別
ubuntu下Tesseract環境安裝
sudo apt-get install libpng12-dev sudo apt-get install libjpeg62-dev sudo apt-get install libtiff4-dev sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install automake
1.tesseract-ocr安裝
sudo apt-get install tesseract-ocr
2.pytesseract安裝
pip install pytesseract
Python代碼
識別對應位置
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- import aircv def matchImg(imgsrc, imgobj, confidence=0.2): """ 圖片對比識別imgobj在imgsrc上的相對位置(批量識別統一圖片中需要的部分) :param imgsrc: 原始圖片路徑(str) :param imgobj: 待查找圖片路徑(模板)(str) :param confidence: 識別度(0<confidence<1.0) :return: None or dict({'confidence': 相似度(float), 'rectangle': 原始圖片上的矩形坐標(tuple), 'result': 中心坐標(tuple)}) """ imsrc = aircv.imread(imgsrc) imobj = aircv.imread(imgobj) match_result = aircv.find_template(imsrc, imobj, confidence) # {'confidence': 0.5435812473297119, 'rectangle': ((394, 384), (394, 416), (450, 384), (450, 416)), 'result': (422.0, 400.0)} if match_result is not None: match_result['shape'] = (imsrc.shape[1], imsrc.shape[0]) # 0為高,1為寬 return match_result
圖片剪裁
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- from PIL import Image, ImageEnhance def cutImg(imgsrc, out_img_name, coordinate): """ 根據坐標位置剪切圖片 :param imgsrc: 原始圖片路徑(str) :param out_img_name: 剪切輸出圖片路徑(str) :param coordinate: 原始圖片上的坐標(tuple) egg:(x, y, w, h) ---> x,y為矩形左上角坐標, w,h為右下角坐標 :return: """ image = Image.open(imgsrc) region = image.crop(coordinate) region = ImageEnhance.Contrast(region).enhance(1.5) region.save(out_img_name)
圖片識別
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- import pytesseract from PIL import Image image = Image.open('bb.png') code = pytesseract.image_to_string(image) print(code)
關于python中怎么批量識別圖片指定區域的文字問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。