在OpenCV裡實現條碼識別

2021-10-01 04:14:26 字數 774 閱讀 1596

現在條碼這麼普及,對於條碼的識別,很多應用場合都需要使用。在這裡就介紹乙個比較小的條碼識別庫,它就是pyzbar,對於一般的條碼,它是能識別出來的,如果比較新的格式可能識別不了。可以使用下面的命令來安裝它:

pip install -i pyzbar

成功安裝之後,就可以用下面的**進行測試:

#python 3.7.4,opencv4.1

#蔡軍生

#[email protected]

#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

在前面使用兩個影象相減的差值來識別,在識別的結果裡,發現有時候識別錯誤率很高,那麼就需要想辦法來改善這種情況。首先來分析一下,為什麼影象相減識別的錯誤率會這麼高?如果仔細地分析它們的相減之後的,就會發現這樣乙個問題,當拍攝的撲克牌與庫里的牌有角度的差異時,投影變換回來的影象,它們之間顯然有畫素的差別...