国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

如何利用python檢測圖片是否包含二維碼

瀏覽:2日期:2022-07-08 11:55:06

前言

因為一直在幾個平臺發(fā)文章,發(fā)現(xiàn)有些平臺并不會檢測文章中的圖片是否會包含二維碼,但是其中也有平臺會去檢測,所以就去研究了一下python如何去檢測。搜了一下大概有兩個庫可以使用:

一個是zbar,這個庫是挺牛的,不過只支持python2.7,再者也沒有繼續(xù)維護,什么年代了,應該沒人使用python2.7了吧(2020年1月以后連python2.7都不再維護了,有還在使用的童靴該跟上時代了)。 一個是pyzbar,基本上傳承了zbar的功能。

安裝

pip install pyzbar -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install Pillow

測試

準備圖片

首先去二維碼生成網(wǎng)站準備一堆二維碼作為測試準備,我準備了一些圖片,也有不包含二維碼的。

如何利用python檢測圖片是否包含二維碼

代碼

使用方法如下圖,圖片使用Pillow庫打開,再用pyzbar的decode解碼,代碼如下:

import pyzbar.pyzbar as pyzbarfrom PIL import Image,ImageEnhanceimport osimg_dir = '..img'def open_img(): img_list = [] for _,_,file_list in os.walk(img_dir): img_list = [os.path.join(img_dir,file) for file in file_list if file.endswith('.jpg') or file.endswith('.png') ] print('所有文件:{}'.format(img_list)) return img_listdef show(): img_list = open_img() for _img in img_list: img = Image.open(_img) # img = ImageEnhance.Brightness(img).enhance(2.0)#增加亮度 # img = ImageEnhance.Sharpness(img).enhance(17.0)#銳利化 # img = ImageEnhance.Contrast(img).enhance(4.0)#增加對比度 # img = img.convert(’L’)#灰度化 texts = pyzbar.decode(img) if not texts: print('{}文件不存在二維碼'.format(_img)) for text in texts: t = text.data.decode('utf-8') if t:print('{}文件存在二維碼,內(nèi)容為:{}'.format(_img,t))if __name__ == ’__main__’: show()

注釋掉的代碼可以在圖片識別率低的情況下打開,以此提高圖片亮度。

運行結果

如何利用python檢測圖片是否包含二維碼

都能正確識別出來,效果還是可以的。

以上就是如何利用python檢測圖片是否包含二維碼的詳細內(nèi)容,更多關于python 二維碼的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 邢台县| 桂林市| 沙湾县| 汶川县| 二连浩特市| 扎囊县| 太湖县| 辛集市| 长乐市| 噶尔县| 桃源县| 黔南| 清徐县| 磴口县| 尉犁县| 谢通门县| 工布江达县| 井陉县| 洛阳市| 阳城县| 城固县| 菏泽市| 武山县| 博湖县| 临颍县| 文昌市| 海南省| 平潭县| 雷波县| 安义县| 南昌市| 博罗县| 通化县| 绥棱县| 桂阳县| 无锡市| 垫江县| 米易县| 合肥市| 江孜县| 马公市|