opencv使用笔记本摄像头获取视频问题解决
来源:互联网 发布:眼镜软件 lms 编辑:程序博客网 时间:2024/05/23 19:17
看了半天的OpenCv3.0的书籍,也配置好环境,敲了几个简单的例子,第一次接触图像处理,感觉还是挺有趣味的。
简单的头文件包含 包含cv命名空间,Mat容器,imread();imshow();getStructuringElent() erode();等函数的使用。
当调试调用笔记本自带摄像头获取视频的时候,出现一个很奇怪的情况就是,程序执行一下,摄像头灯亮了一下又关掉了,程序也闪退了,或者出现一个错误。
断点调试发现没有问题 能够运行并且显示视频画面,
后灵机想一下 是不是 摄像头需要启动时间,没有断点的时候摄像头在获取数据的时候没获取成功,出错退出了。
代码如下:
#include <opencv2\opencv.hpp>using namespace cv;int main(){//读入视频 -- 如果传值为 0 则代表是从摄像头读入视频VideoCapture capture("1.flv"); //这里是读取一段视频显示//VideoCapture capture(0);//这里表示是显示摄像头数据//循环显示每一帧while (1){Mat frame;//定义一个Mat变量,用于存储每一帧的图像capture >> frame; //读取视频帧imshow("读取视频帧", frame);//显示当前帧waitKey(30);//延时30ms ????}return 0;}
上面的这段程序如果是: VideoCapture capture(0);程序运行出错,或者程序闪退,我理解的原因是摄像头启动需要时间,所以在下面的这段程序中我在VideoCapture capture(0);之后_sleep(3000); 然后问题就解决了。就先这样理解吧,有大神看到了也可以给指点下,谢过!!!#include <opencv2\opencv.hpp>using namespace cv;int main(){//从摄像头读入视频VideoCapture capture(0);_sleep(3000);Mat edges;//循环显示每一帧while (1){//读入图像Mat frame; //定义一个Mat变量,用于存储每一帧的图像capture >> frame;//读取当前帧//将原图像转换为灰度图像cvtColor(frame, edges, CV_BGR2GRAY); //转化BGR彩色图为灰度图//使用3*3内核来降噪(2*3+1 = 7)blur(edges, edges, Size(7, 7));//进行模糊//进行Canny边缘检测并显示Canny(edges, edges, 0, 30, 3);imshow("被Canny后的视频",edges);if(waitKey(30) >= 0) break;//延时30ms}return 0;}
阅读全文
0 0
- opencv使用笔记本摄像头获取视频问题解决
- OpenCV 获取笔记本摄像头,新建窗口显示摄像头视频
- 使用opencv打开笔记本摄像头
- OpenCV摄像头视频的获取
- OpenCV摄像头视频的获取
- OpenCV摄像头视频的获取
- opencv 3 获取摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- MFC中使用opencv获取海康摄像头视频
- python使用opencv驱动摄像头获取视频并保存
- ubuntu 下用 opencv驱动笔记本摄像头问题解决方法
- opencv获取摄像头视频并显示
- [opencv]3.获取摄像头的视频流
- 查看Linux系统位数
- 计算机网络——自顶向下方法第四章4.5 4.6
- webuploader分片上传大文件
- eclipse配置文件没有提示问题解决方案
- 2. Add Two Numbers
- opencv使用笔记本摄像头获取视频问题解决
- svn 命令行下常用的几个命令
- Java常量池理解与总结
- 5-6 使用函数输出水仙花数
- tomcat启动内存溢出问题
- OpenCV之鼠标响应事件
- spark的wordcount产生多少个RDD
- 《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)
- 基础积累及遇到的坑