現在條碼這麼普及,對於條碼的識別,很多應用場合都需要使用。在這裡就介紹乙個比較小的條碼識別庫,它就是pyzbar,對於一般的條碼,它是能識別出來的,如果比較新的格式可能識別不了。可以使用下面的命令來安裝它:
pip install -i pyzbar
成功安裝之後,就可以用下面的**進行測試:
#python 3.7.4,opencv4.1
#蔡軍生
#import numpy as np
import cv2
from matplotlib import pyplot as plt
from pyzbar import pyzbar
#讀取img = cv2.imread('barcode4.png')
#條碼識別
barcodes = pyzbar.decode(img)
#獲取所有的條碼
for barcode in barcodes:
(x, y, w, h) = barcode.rect
cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)
barcodedata = barcode.data.decode("utf-8")
barcodetype = barcode.type
text = "{} ({})".format(barcodedata, barcodetype)
c
在OpenCV裡用kNN實現手寫數字識別
本文裡將要學習用knn來構造乙個ocr應用,實現手寫數字的識別。為了實現這個需求,我們需要一些訓練資料和測試資料,在opencv裡有乙個手寫數字的digits.png,這個裡包含有5000個手寫字型的數字,每個數字有500個,每個數字大小為20x20個畫素。如下圖所示 因此,首先就是把5000個數字...
在OpenCV裡實現撲克牌識別1
撲克牌的遊戲非常多,相信大家在大學裡會經常玩的一種遊戲,因為它簡單,攜帶非常方向,放入到口袋裡不佔地方。並且它的玩法也是多種多樣,比如24點,公升級,鬥地主等等。當你跟朋友在玩24點遊戲時,就是比較誰計算出來最快。但是有一些人想用聰明的辦法,比如通過攝像頭拍攝撲克牌,然後自動地在後台計算,然後再通過...
在OpenCV裡實現撲克牌識別3
在前面使用兩個影象相減的差值來識別,在識別的結果裡,發現有時候識別錯誤率很高,那麼就需要想辦法來改善這種情況。首先來分析一下,為什麼影象相減識別的錯誤率會這麼高?如果仔細地分析它們的相減之後的,就會發現這樣乙個問題,當拍攝的撲克牌與庫里的牌有角度的差異時,投影變換回來的影象,它們之間顯然有畫素的差別...