【python 图片识别】python识别图片是不是包含二维码
生活随笔
收集整理的這篇文章主要介紹了
【python 图片识别】python识别图片是不是包含二维码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
近幾天在研究二維碼的識別,主要是通過python代碼來識別特定圖片內是否包含二維碼。方法有分類,還有下面我介紹的直接法。
需要安裝庫
pip install pyzbar pip install opencv-python我們 先準備些二維碼
總共有11個二維碼。
下面我們進行二維碼識別:
# -*- coding: utf-8 -*-import os from pyzbar.pyzbar import decode import cv2""" 圖片包含二維碼檢測 """ def qrcode_recongnize(filepath,filename):""":param filepath: 圖片路徑:param filename: 圖片名字:return: qrcode 圖片包含二維碼,unqrcode 圖片不包含二維碼"""image_type = []try:# 讀取圖片image = cv2.imread(filepath+filename)# 灰度化image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)# 解碼二維碼result = decode(image)if len(result)>0:image_type.append('qrcode')else:image_type.append('unqrcode')except:image_type.append('unqrcode')return image_typeif __name__ == '__main__':filepath="F:/img_spam/test/"for parent,dirnames,filenames in os.walk(filepath):for filename in filenames:kk=qrcode_recongnize(filepath,filename)print(filename,kk)運行結果:
10064002865114446300320010019402.jpg ['qrcode'] 10064002865147474800320010014524.jpg ['qrcode'] 10064002865193399400320010025444.jpg ['qrcode'] 10064002865201489200320010016199.jpg ['qrcode'] 10064002865201508800320010029686.jpg ['qrcode'] 10064002866745871400320010015155.jpg ['qrcode'] 10064002917911190400320010025075.jpg ['unqrcode'] 10064002918088242900320010011993.jpg ['qrcode'] 10064002918093458900320010012496.jpg ['qrcode'] 10064002918168035600320010029193.jpg ['qrcode'] 20181206142636.png ['qrcode']Process finished with exit code 0識別了10個是二維碼,有一個二維碼識別錯誤。進過分析,那個未識別的二維碼,并不是微信二維碼。
而是一個網站的二維碼。說明我們寫的這個程序只能識別微信二維碼,其他類型的二維碼識別不了。后面再看看有沒有別的方法。
識別二維碼方法二:
# -*- coding: utf-8 -*-from pyzbar.pyzbar import decode from PIL import Image,ImageEnhance import os""" 圖片包含二維碼檢測 """ def qrcode_recongnize(filepath,filename):""":param filepath: 圖片路徑:param filename: 圖片名字:return: qrcode 圖片包含二維碼,unqrcode 圖片不包含二維碼"""image_type = []try:# 讀取圖片img = Image.open(filepath + filename).convert('RGB')# 增加亮度img = ImageEnhance.Brightness(img).enhance(1.0)# 銳利化img = ImageEnhance.Sharpness(img).enhance(1.5)# 增加對比度img = ImageEnhance.Contrast(img).enhance(2.0)# 灰度化img = img.convert('L')# 解碼二維碼result = decode(img)if len(result)>0:image_type.append('qrcode')else:image_type.append('unqrcode')except:image_type.append('unqrcode')return image_typeif __name__ == '__main__':filepath="F:/img_spam/test/"for parent,dirnames,filenames in os.walk(filepath):for filename in filenames:kk=qrcode_recongnize(filepath,filename)print(filename,kk)總結
以上是生活随笔為你收集整理的【python 图片识别】python识别图片是不是包含二维码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Paddle平台中搭建CNN模型,在训练
- 下一篇: python开发全过程_python开发