当您调用cap.release()时,则:发布软件资源
释放硬件资源
在调用cap.release()之前,可以尝试创建另一个实例cap2 = cv2.VideoCapture(0)。cap = cv2.VideoCapture(0)
#cap.release()
cap2 = cv2.VideoCapture(0)
因为您还没有释放相机设备资源,那么它将引发诸如Device or resource busy之类的错误,从而引发OpenCV异常。libv4l2: error setting pixformat: Device or resource busy
VIDEOIO ERROR: libv4l unable to ioctl S_FMT
libv4l2: error setting pixformat: Device or resource busy
libv4l1: error setting pixformat: Device or resource busy
VIDEOIO ERROR: libv4l unable to ioctl VIDIOCSPICT
libv4l2: error setting pixformat: Device or resource busy
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in cvCaptureFromCAM_GStreamer, file /home/xxx/Programs/OpenCV/src/opencv-master/modules/videoio/src/cap_gstreamer.cpp, line 887
VIDEOIO(cvCreateCapture_GStreamer(CV_CAP_GSTREAMER_V4L2, reinterpret_cast(index))): raised OpenCV exception:
/home/xxx/Programs/OpenCV/src/opencv-master/modules/videoio/src/cap_gstreamer.cpp:887: error: (-2) GStreamer: unable to start pipeline
in function cvCaptureFromCAM_GStreamer