python批量識別圖片指定區(qū)域文字內(nèi)容
Python批量識別圖片指定區(qū)域文字內(nèi)容,供大家參考,具體內(nèi)容如下
簡介
對于一張圖片,需求識別指定區(qū)域的內(nèi)容
1.截取原始圖上的指定圖片當做模板
2.根據(jù)模板相似度去再原始圖片上識別準確坐標
3.根據(jù)坐標剪切出指定位置圖片,也就是所需的內(nèi)容區(qū)域
4.對指定位置圖片進行ocr識別
環(huán)境
Ubuntu18.04
Python2.7
所需Python模塊
1.aircv
用于識別模板再原始圖的位置坐標
pip install aircv
2.Pillow
用于剪裁圖片
pip install Pillow
文字識別
在此也可以用平臺端的API進行更精準的識別
ubuntu下Tesseract環(huán)境安裝
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代碼
識別對應(yīng)位置
#!/usr/bin/python2.7 # -*- coding: utf-8 -*- import aircv def matchImg(imgsrc, imgobj, confidence=0.2): """ 圖片對比識別imgobj在imgsrc上的相對位置(批量識別統(tǒng)一圖片中需要的部分) :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): """ 根據(jù)坐標位置剪切圖片 :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)
對于三方API識別自行研究
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Caffe卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)層及參數(shù)
這篇文章主要為大家介紹了Caffe卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)層及參數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Python pandas讀取CSV文件的注意事項(適合新手)
這篇文章主要給大家介紹了關(guān)于Python pandas讀取CSV文件的注意事項,非常適合新手,csv是我接觸的比較早的一種文件,比較好的是這種文件既能夠以電子表格的形式查看又能夠以文本的形式查看,需要的朋友可以參考下2021-06-06Python常見讀寫文件操作實例總結(jié)【文本、json、csv、pdf等】
這篇文章主要介紹了Python常見讀寫文件操作,結(jié)合實例形式總結(jié)分析了Python常見的各種文件讀寫操作,包括文本、json、csv、pdf等文件的讀寫與相關(guān)注意事項,需要的朋友可以參考下2019-04-04將pycharm配置為matlab或者spyder的用法說明
這篇文章主要介紹了將pycharm配置為matlab或者spyder的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06pycharm安裝教程(下載安裝以及設(shè)置中文界面)
這篇文章主要給大家介紹了關(guān)于pycharm安裝教程,文中包括下載安裝以及設(shè)置中文界面,PyCharm是一款Python IDE,其帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,需要的朋友可以參考下2023-10-10Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法
這篇文章主要介紹了Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07