मैं opencv के माध्यम से अपने कैमरे का उपयोग कर रहा था और अचानक पुनरारंभ करने के बाद मैंने अपना कोड चलाया, यह त्रुटि के नीचे दिखाता है:

[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (802) open VIDEOIO ERROR: V4L: can't open camera by index 0
Traceback (most recent call last):
  File "test.py", line 20, in <module>
    retval, buffer_img = cv2.imencode('.jpg', frame)
cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgcodecs/src/loadsave.cpp:877: error: (-215:Assertion failed) !image.empty() in function 'imencode'
cap = cv2.VideoCapture(0)  # here it throws an error


import json
while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    retval, buffer_img = cv2.imencode('.jpg', frame)

    resdata = base64.b64encode(buffer_img)

    resdata = "data:image/png;base64,"+ str(resdata.decode("utf-8"))
    PARAMS = {'image': resdata}

    # Our operations on the frame come here
    #gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

मैंने cap = cv2.VideoCapture(1) के साथ भी कोशिश की लेकिन फिर यह दिखाता है कि कैमरा नहीं मिल रहा है

मैं इस समस्या को कैसे हल कर सकता हूं?

18
Nabeel Ayub 17 पद 2019, 12:22

1 उत्तर

मैं उस हिस्से में नहीं जाऊंगा जो आप करने की कोशिश कर रहे हैं, यहां कोड का एक ब्लॉक है जो आपके कैमरे को हर बार चलाने पर खोल सकता है,

अजगर: 3.7.3

ओपनसीवी: 4.1.0

import cv2
cap = cv2.VideoCapture(0)
while True:

    ret, frame = cap.read()
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
2
Sohel Reza 17 पद 2019, 12:43