OpenCV-判断OpenCV摄像头是否断开

使用opencv的cv::VideoCapture 类对象从摄像头处获取图像时,没法通过isOpened获取的图像判断摄像头是否有断开,即开始时成功获取到图像后,中间摄像头断开了,返回的图像数据还是正常的。
使用摄像头获取图像:

cv::VideoCapture cap;
cap.open(0);

cv::Mat img, irImg;

cap >> img;

正常情况下获取到的img是有数据的,摄像头断开时获取到的img也依然有数据。

判断摄像头是否断开方法:

通过获取摄像头图片的色调,如果摄像头连接正常,则返回来的色调是0,如果摄像头断开连接了,则色调返回来先是13,然后变成-1。因此直接判断返回值是不是0就可以知道摄像头是否断开:

double lightCapHue = cap.get(CAP_PROP_HUE);
if(lightCapHue  != 0 ){
//已断开
}

转载于:https://my.oschina.net/VenusV/blog/1842346

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值