Skip to content Skip to sidebar Skip to footer

Opencv Error Can't Open Camera Through Video Capture

I was using my cam through opencv and suddenly after restarting I ran my code it shows below error: [ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (802) open VIDEOIO E

Solution 1:

I got the same error. Try changing 0 to -1

cap = cv2.VideoCapture(-1)

This solved the issue.

Solution 2:

I got the same problem when I created more than one instance of the cv2.VideoCapture(0). So check if your code contains multiple initializations or sections which call cv2.VideoCapture(0) more than once. I was facing this problem while running the flask server in debug mode because it called cv2.VideoCapture(0) twice.

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

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

Error:

python3 debugCamera.py 
[ WARN:0] global /io/opencv/modules/videoio/src/cap_v4l.cpp (887) open VIDEOIO(V4L2:/dev/video0): can't open camera by index

Solution 3:

Most likely a permission issue on /dev/video0.

Check if you are part of "video" group. id -a

if you don't see video in your group list add sudo usermod -a -G video

for Ubuntu users:(20.04) sudo usermod -a -G video $LOGNAME

Logout and log back in and try it.

Solution 4:

I've encountered the same issue and attempted several methods like cv2.VideoCapture(-1) or cv2.VideoCapture(1) but without much success.

I succeeded after reading this article and disabling debug-mode

Solution 5:

I will not go to that part What you are trying to do, here is just a block of code that can open your camera every time you run it,

python: 3.7.3

OpenCV: 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'):
        breakcap.release()
cv2.destroyAllWindows()

Post a Comment for "Opencv Error Can't Open Camera Through Video Capture"