Arkadaşlar şöyle bir kodum var. Bir kitap classından window oluşturuyom ve sayfada label nesnesinde videoyu gösteriyorum Qtimer ile. Aynı zamanda barcode okutuyorum. Burada problem yok. Başka bir sayfada da aynı işlemi yapmak istediğimde camera donuyor başka bir yerde çalıştığı için sanırım. Ve şu hatayı alıyorum.
[ WARN:0@46.851] global cap_msmf.cpp:1768 CvCapture_MSMF::grabFrame videoio(MSMF): can’t grab frame. Error: -1072873821
Kodlarım aşağıda.
class Kitap(QMainWindow):
vc = cv2.VideoCapture(0)
def init(self):
super(Kitap, self).__init__()
uic.loadUi("ui/kitap.ui", self)
self.timer = QTimer()
self.timer.timeout.connect(self.nextFrameSlot2)
self.timer.start()
def nextFrameSlot2(self):
try:
rval, frame = self.vc.read()
barcodes = pyzbar.decode(frame)
for barcode in barcodes:
x, y , w, h = barcode.rect
barcode_text = barcode.data.decode('utf-8')
playsound('beep.wav')
print(barcode_text)
self.lineEdit_barkod.setText(barcode_text)
cv2.rectangle(frame, (x, y),(x+w, y+h), (0, 255, 0), 2)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
image = QImage(frame, frame.shape[1], frame.shape[0], QImage.Format_RGB888)
pixmap = QPixmap.fromImage(image)
self.label.setPixmap(pixmap)
except:
pass