树莓派usb免驱摄像头报错 libv4l2: error setting pixformat: Device or resource busy等

本文介绍了一个常见的摄像头使用错误“libv4l2:errorsettingpixformat:Deviceorresourcebusy”的原因及解决方法。通过添加关键性代码cap.release()来释放摄像头资源,避免了因资源未释放导致的摄像头无法使用的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习记录

之前在网上查了很多次,一直也没找到解决的方法,偶然之间,突然想到了方法。

错误

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

现象:有时摄像头无法使用,只有插拔才能解决。

原因及解决方法

之前一直不知道为什么会有这个报错,最近看了看相关的书,才发现我少了一行关键性的代码。

int main( int argc, const char** argv )
{

	VideoCapture cap; 
	cap.open(0);
    if(!cap.isOpened())
        return -1;
        
    while(1)
    {
        Mat frame;
        cap >> frame; 
        imshow("Video", frame);
        if(waitKey(30) >= 0) 
        	break;
    }
    cap.release();
	return 0;
}

其中,关键性的一句cap.release();用于释放摄像机的cap。
如果不释放的话,就会产生上面的错误。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值