pyzbar не работает после удаления анаконды - PullRequest
0 голосов
/ 05 мая 2020

Я работал над скриптом, который читает qrcodes и записывает данные в файл, он работал абсолютно нормально, поэтому я решил преобразовать скрипт в exe-файл с помощью pyinstaller, но после успешного преобразования скрипта в исполняемый файл, если я попытался запустите его, это вызовет ошибку « не удалось выполнить скрипт pyi_rth_pkgres », я подумал, что может быть проблема с anaconda, поэтому я решил удалить его и вместо этого установить последнюю версию python, но вскоре я установлен python, включая необходимые модули, мой скрипт перестал работать, он по-прежнему открывает камеру, но когда я показываю ему qr-код, он ничего не делает, может ли кто-нибудь мне помочь? В приведенном ниже скрипте переменная "success " изначально установлена ​​на None , поэтому всякий раз, когда pyzbar успешно читает qr, он возвращает данные, преобразованные в строку с успех переменная, чтобы мы могли позже записать ее в файл " data.txt "

import cv2
import numpy as np 
import pyzbar.pyzbar as pyzbar

cap = cv2.VideoCapture(0)

font = cv2.FONT_HERSHEY_PLAIN

success = None

focus = 20

while True:
    _, frame =cap.read()


    frame = cv2.flip(frame,1)

    cap.set(28,focus)

    qr = pyzbar.decode(frame)

    try:
        success = str(qr[0].data)

        cv2.putText(frame,str(qr[0].data),(50,50),font,2,(255,0,0),3)

        break
    except IndexError as e:

        pass


    cv2.line(frame,(0,240),(640,240),(0,0,255),1)
    cv2.line(frame,(320,61),(320,419),(0,0,255),2)


    cv2.imshow("Frame",frame)

    key = cv2.waitKey(1)
    if key == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
try:
    with open("data.txt",mode = 'w') as f:
        f.write(success[1:])
except TypeError:
    pass

...