问题描述
我使用 m1 Macbook Pro 并在使用 pyzbar 运行我的代码时遇到错误。我还下载了 pyzbar 和 zbar。我已经安装了自制软件并使用了 brew install zbar 和 pip3 install pyzbar
以下是完整的错误:-
Traceback (most recent call last):
File "/Users/irajgupta/Desktop/PythonFiles/BarcodeScanner .py",line 4,in <module>
from pyzbar.pyzbar import decode
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyzbar/pyzbar.py",line 7,in <module>
from .wrapper import (
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyzbar/wrapper.py",line 139,in <module>
zbar_version = zbar_function(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyzbar/wrapper.py",line 136,in zbar_function
return prototype((fname,load_libzbar()))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyzbar/wrapper.py",line 115,in load_libzbar
libzbar,dependencies = zbar_library.load()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyzbar/zbar_library.py",line 65,in load
raise ImportError('Unable to find zbar shared library')
ImportError: Unable to find zbar shared library
以下是我的代码:-
from tkinter import*
from PIL import ImageTk,Image
import cv2
from pyzbar.pyzbar import decode
root=Tk()
root.title("Barcode Scanner")
root.configure(bg="tan4")
root.geometry("300x400")
vdo=Label(root)
vdo.grid(padx=10,pady=10)
cap=cv2.VideoCapture(0)
def readBarcode(frame):
barcodes=decode(frame)
txt.delete(0,END)
for a in barcodes:
x,y,w,h=a.rect
a_info=barcode.data.decode('utf-8')
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2)
font=cv2.FONT_HERShey_DUPLEX
cv2.putText(frame,a_info,(x-6,y-6),font,1.0,1)
txt.insert(0,a_info+" ")
return frame
def video_stream():
_,frame=cap.read()
frame=cv2.resize(frame,(250,250))
frame=cv2.copyMakeBorder(frame,10,cv2.BORDER_CONSTANT)
frame=readBarcode(frame)
cv2Image=cv2.cvtColor(frame,cv2.COLOR_BGR2RGBA)
img=Image.fromarray(cv2Image)
imgtk=ImageTk.PhotoImage(image=img)
vdo.imgtk=imgtk
vdo.configure(image=imgtk)
vdo.after(1,video_stream)
txt=Entry(root,width=25)
txt.grid(pady=25)
video_stream()
root.mainloop()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)