Open-cvバーコードとQRコードの読み取り
Open-cvでQRコードとバーコードを読みます
import cv2
import pyzbar.pyzbar as pyzbar
font = cv2.FONT_ITALIC
# cv2.FONT_종류를 적어 원하는 폰트 적용하시면 됩니다 😇
def read_frame(frame):
try:
barcodes = pyzbar.decode(frame)
#바코드를 받아와서 decode를 적용해서 읽어오는 부분
#이렇게 바코드를 읽구나라고 느꼈습니다..신기해...
for barcode in barcodes:
x, y, w, h = barcode.rect
#바코드 위치를 찾기
barcode_info = barcode.data.decode('utf-8')
#디코더 시킨 바코드 안에서 들어있는 정보를 decode 시켜 문자열로 변경
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(frame, barcode_info, (x, y-20), font, 0.5, (255, 0, 0), 4)
except Exception as e:
print(e)
return frame
cap = cv2.VideoCapture(0)
# 실시간 화면에 얼만큼 작용하는지 궁금해서 0을 주고 확인했습니다.
# 이용하려는 파일에 따라 cv2.VideoCaputre(.jpg or .mp4)
while cap.isOpened():
ret, frame = cap.read()
if ret:
frame = read_frame(frame)
cv2.imshow('Barcode', frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
cap.release()
cv2.destroyAllWindows()
Mac OSXが必要
pip install pyzbar X
brew install bar
arch -arm64 brew install zbar
conda install pyzbar
# import Error가 안나면 OK
import Error 발생 시 설치 된 파일을 복사 후 옮겨줘야합니다.
# pkg-config --libs zbar -> 패키지 위치 확인
# python -> import sys -> sys.executable 로 python 위치 찾기
cp /opt/homebrew/Cellar/zbar/0.23.90_1/lib/pkgconfig/zbar.pc /Users/{1}/miniforge3/envs/{2}/lib/pkgconfig
# {} 곳에 자신 경로를 넣으면 됩니다.
# {1} = user_name, {2} = env_name
cp /opt/homebrew/Cellar/zbar/0.23.90_1/lib/libzbar.0.dylib /Users/{1}/miniforge3/envs/{2}/lib/
# {1} = user_name, {2} = env_name
cd /Users/{1}/miniforge3/envs/{2}/lib
# {1} = user_name, {2} = env_name
ln -s libzbar.0.dylib libzbar.dylib
import Clear 🥹
Reference
この問題について(Open-cvバーコードとQRコードの読み取り), 我々は、より多くの情報をここで見つけました https://velog.io/@jumpx2/Open-cv-바코드-및-Qr-code-읽어보기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol