728x90
반응형

개요

pyzbar 패키지를 활용하여 바코드, QR 코드를 인식해보는 실험입니다.

구현

from pyzbar import pyzbar
import cv2
import matplotlib.pyplot as plt
import os
BASE_DIR = os.getcwd()
IMG_DIR =  os.path.join(BASE_DIR, 'images')
sample_img = cv2.imread(os.path.join(IMG_DIR, 'sample.png'))
plt.imshow(sample_img)

<matplotlib.image.AxesImage at 0x209e5b96ec8>

gray_img = cv2.cvtColor(sample_img, cv2.COLOR_BGR2GRAY)
plt.imshow(gray_img, cmap='gray')

</matplotlib.image.axesimage at 0x209e80edf48>

decoded = pyzbar.decode(gray_img)
decoded

[Decoded(data=b'Sample Barcode', type='CODE128', rect=Rect(left=14, top=10, width=368, height=89), polygon=[Point(x=14, y=11), Point(x=14, y=99), Point(x=382, y=98), Point(x=382, y=10)])]

for d in decoded:
    print('>>> type: {}, data: {}'.format(d.type, d.data.decode('utf-8')))
    cv2.rectangle(sample_img, (d.rect[0], d.rect[1]), (d.rect[0] + d.rect[2], d.rect[1] + d.rect[3]), (0, 0, 255), 2)    
plt.imshow(sample_img)

>>> type: CODE128, data: Sample Barcode
<matplotlib.image.AxesImage at 0x209e9552b48>

728x90
반응형

'AI 인공지능 > Research' 카테고리의 다른 글

월리를 찾아라  (0) 2022.03.01
마스크 착용을 인식할 수 있을까?  (0) 2022.02.22
지문을 인식할 수 있을까?  (0) 2022.02.15
이미지 캡차를 인식할 수 있을까?  (0) 2022.02.14