日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

瀏覽:35日期:2022-07-05 11:13:38

前言

這周和大家分享如何用python識別圖像里的條碼。用到的庫可以是zbar。希望西瓜6辛苦碼的代碼不要被盜了。(zxing的話,我一直沒有裝好,等裝好之后再寫一篇)

具體步驟

前期準(zhǔn)備

用opencv去讀取圖片,用pip進行安裝。

pip install opencv-python

所用到的圖片就是這個

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

使用pyzbar

windows的安裝方法是

pip install pyzbar

而mac的話,最好用brew來安裝。(有可能直接就好,也有可能很麻煩)裝好之后就是讀取圖片,識別條碼。代碼如下

import cv2import pyzbar.pyzbar as pyzbarimage=cv2.imread('/Users/phoenix/Downloads/barcode.png')gray = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)texts = pyzbar.decode(gray)for text in texts: tt = text.data.decode('utf-8')print(tt)

結(jié)果如圖:

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

特殊情況處理(條碼圖片矯正和增強)

只以pyzbar舉例

條碼是顛倒的是否會影響識別?

不影響,單純顛倒180度和90度是不會影響識別的。我們把上一個圖的顛倒180度,用顛倒后的圖試一下

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

import cv2import pyzbar.pyzbar as pyzbarimport numpy as npimage=cv2.imread('/Users/phoenix/Downloads/barcode_180.png')gray = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)texts = pyzbar.decode(gray)print(texts)if texts==[]: print('未識別成功')else: for text in texts: tt = text.data.decode('utf-8') print('識別成功') print(tt)

結(jié)果如圖

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

90度的話也是同樣可以成功的。但是其它角度就會GG。

條碼是傾斜的是否會影響識別?

會的,但這種還比較好處理。如圖

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

這張圖用上面的代碼就會

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

解決的思路是把這個圖片旋轉(zhuǎn)回來,至于如何判斷轉(zhuǎn)多少度,可以通過opencv來處理。通過膨脹和腐蝕將其變?yōu)槿鐖D。

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

接著再用cv2.minAreaRect函數(shù),這個函數(shù)會返回如下,

詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強

里面的第三個-45就是我們需要的角度。

綜合起來的實現(xiàn)代碼,我就放在下面了。(我自己寫的,如果有幫到你,快點關(guān)注和贊)

import cv2import pyzbar.pyzbar as pyzbarimport numpy as npdef barcode(gray): texts = pyzbar.decode(gray) if texts == []: angle = barcode_angle(gray) if angle < -45: angle = -90 - angle texts = bar(gray, angle) if texts == []: gray = np.uint8(np.clip((1.1 * gray + 10), 0, 255)) angle = barcode_angle(gray) #西瓜6寫的,轉(zhuǎn)載需聲明 if angle < -45: angle = -90 - angle texts = bar(gray, angle) return textsdef bar(image, angle): gray = image #西瓜6寫的,轉(zhuǎn)載需聲明 bar = rotate_bound(gray, 0 - angle) roi = cv2.cvtColor(bar, cv2.COLOR_BGR2RGB) texts = pyzbar.decode(roi) return textsdef barcode_angle(image): gray = image #西瓜6寫的,轉(zhuǎn)載需聲明 ret, binary = cv2.threshold(gray, 220, 255, cv2.THRESH_BINARY_INV) kernel = np.ones((8, 8), np.uint8) dilation = cv2.dilate(binary, kernel, iterations=1) erosion = cv2.erode(dilation, kernel, iterations=1) erosion = cv2.erode(erosion, kernel, iterations=1) erosion = cv2.erode(erosion, kernel, iterations=1) contours, hierarchy = cv2.findContours( erosion, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) if len(contours) == 0: rect = [0, 0, 0] else: rect = cv2.minAreaRect(contours[0]) return rect[2]def rotate_bound(image, angle): (h, w) = image.shape[:2] (cX, cY) = (w // 2, h // 2) M = cv2.getRotationMatrix2D((cX, cY), -angle, 1.0) cos = np.abs(M[0, 0]) sin = np.abs(M[0, 1]) #西瓜6寫的,轉(zhuǎn)載需聲明 nW = int((h * sin) + (w * cos)) nH = int((h * cos) + (w * sin)) M[0, 2] += (nW / 2) - cX M[1, 2] += (nH / 2) - cY return cv2.warpAffine(image, M, (nW, nH))image=cv2.imread('/Users/phoenix/Downloads/barcode_455.png')gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)texts = barcode(gray)print(texts)if texts==[]: print('未識別成功')else: for text in texts: tt = text.data.decode('utf-8') print('識別成功') print(tt)

條碼是模糊的是否會影響識別?

會的,處理方法就是傳統(tǒng)的調(diào)對比度,銳化。。。。不過這個只能解決部分部分,至于有的條碼,微信可以掃,支付寶可以掃,但是我們識別不了,這個也不能怪庫不好,這部分該放棄就放棄吧。

結(jié)束語

如果你想用python來解決圖像里的條碼識別問題,這篇文章肯定是可以幫到你的。到此這篇關(guān)于詳解利用python識別圖片中的條碼(pyzbar)及條碼圖片矯正和增強的文章就介紹到這了,更多相關(guān)python識別圖片條碼內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区久久| 欧美福利专区| 免费观看在线综合色| 狠狠爱成人网| 国产农村妇女精品一二区| 午夜日本精品| 欧美日韩免费观看一区=区三区 | 亚欧成人精品| 日韩高清在线不卡| 欧美日韩伊人| 九九九精品视频| аⅴ资源天堂资源库在线| 欧美一级鲁丝片| 亚洲精品成人| 亚洲天堂免费| 欧美日韩调教| 精品国产不卡| 久久高清精品| 巨乳诱惑日韩免费av| 综合亚洲色图| 国产精品一区亚洲| 97精品国产福利一区二区三区| 日韩成人亚洲| 欧美中文日韩| 国产成人精品一区二区免费看京| 国产色99精品9i| 欧美黄色一区| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 精品成人免费一区二区在线播放| 久久香蕉国产| av一区在线| 国产精品试看| 国产欧美另类| 久久久精品久久久久久96 | 日韩三级视频| 精品国产一区二区三区2021| 私拍精品福利视频在线一区| 噜噜噜久久亚洲精品国产品小说| 日韩av一级片| 欧美国产美女| 久久国产福利| 久久亚洲国产精品尤物| 久久中文视频| 亚洲精选91| 粉嫩av一区二区三区四区五区 | 久久精品 人人爱| 欧美aa一级| 中文在线日韩| 日韩大片在线| 亚洲欧美在线专区| 成人午夜毛片| 日韩专区一卡二卡| 精品国产亚洲日本| 性色一区二区| 精品一区二区三区中文字幕视频| 久久激情中文| 国产欧美另类| 在线一区免费观看| 国产一区丝袜| 日韩综合小视频| 99精品网站| 日本免费新一区视频| 日韩一区二区三区免费视频| 高清不卡一区| 亚洲午夜国产成人| 日韩深夜视频| 欧美日韩亚洲一区三区| 亚洲午夜精品久久久久久app| 日韩福利视频网| 好看的亚洲午夜视频在线| 国产福利资源一区| 国产亚洲精品v| www.51av欧美视频| 欧美日韩一区二区国产| 亚洲资源av| 亚洲成人av观看| 国产精品99久久免费观看| 麻豆精品网站| 欧美精品资源| 精品资源在线| 日本不卡视频在线观看 | 精品一区三区| 国产一区二区三区探花| 亚洲a级精品| 欧美成人精品| 日韩欧美午夜| 精品在线网站观看| 欧美一区影院| 男女性色大片免费观看一区二区 | 国产精品久久久久77777丨| av成人国产| 深夜视频一区二区| 国产91在线精品| 日韩精品a在线观看91| 黄色亚洲大片免费在线观看| 亚洲人成在线网站| 黄色精品视频| 久久精品一区二区国产| 久久国内精品自在自线400部| 每日更新成人在线视频| 欧美成人综合| 久久国产中文字幕| 超碰在线99| 精品在线网站观看| 久久精品国产福利| 国产精品麻豆成人av电影艾秋| 亚洲人成在线影院| 亚洲人成网77777色在线播放| 香蕉精品久久| 午夜精品成人av| 麻豆视频在线观看免费网站黄| 国产精品99久久免费观看| 国产美女久久| 国产乱人伦丫前精品视频| 偷拍亚洲精品| 在线观看视频免费一区二区三区| 久久国产福利| 视频在线观看91| 久久夜色精品| 亚洲欧美日韩视频二区| 国产精品丝袜xxxxxxx| 亚洲一卡久久| 免费观看在线综合| 黄色亚洲免费| 香蕉久久国产| 亚洲精品福利| 欧美在线91| 国产精品美女午夜爽爽| 欧美aa在线视频| 国产伦理一区| 久久久免费人体| 国产一区国产二区国产三区| 高清日韩欧美| 日本免费久久| 国产韩日影视精品| 国产毛片一区| 日韩国产在线观看| 久久国产精品免费一区二区三区 | 久久亚洲一区| 日韩中文字幕在线一区| 日韩成人一级| 国产精品啊v在线| 高清不卡一区| 美女少妇全过程你懂的久久| 国产亚洲精品自拍| 日韩区一区二| 精品一区二区三区中文字幕视频| 日韩欧美二区| 国产视频一区欧美| 日韩激情综合| 国产精品亚洲片在线播放| 精品一区视频| 美女亚洲一区| 日本午夜精品久久久久| 精品一区二区男人吃奶| 欧洲av一区二区| 丝袜亚洲精品中文字幕一区| 国产亚洲一卡2卡3卡4卡新区| 精品国产一区二区三区2021| 久久久一二三| 综合欧美亚洲| 国产成人免费| 9色精品在线| 国产欧美二区| 国产 日韩 欧美一区| 亚洲一区二区免费看| 91午夜精品| 久久青草久久| 日本成人在线网站| 国内一区二区三区| 亚洲一区亚洲| 国产精品va| 亚洲激情欧美| 青青草伊人久久| 国产精品久久久久av电视剧| 亚洲图片久久| 日韩一区二区三区免费播放| 中文不卡在线| 国产一二在线播放| 亚洲精品影视| 精品不卡一区| 亚洲免费影视| 久久精品午夜| 日韩影院在线观看| 免费日韩一区二区三区| 亚洲国产一区二区三区在线播放| 欧美另类中文字幕| 亚洲大全视频| 欧美黑人巨大videos精品| 国产在线日韩| 国产精品xxx在线观看| 香蕉视频成人在线观看| 国产精品伦理久久久久久| 亚洲人成亚洲精品| 久久裸体视频| 日韩黄色av| 天堂资源在线亚洲| 国产欧美成人| 蜜桃视频一区二区| 久久精品国产亚洲夜色av网站|