OpenCV学习笔记:启动摄像头
学习codebook时,提到了videoCapture有两种输入方式,一种是视频文件名称。另一种是camera id.
文中举例是按第一种方式来做的。我改为第二种方式即读取摄像头图像时,有get_properity错误。
找到一个方法:参考http://blog.youkuaiyun.com/thefutureisour/article/details/7530177
- #include <opencv2/highgui/highgui.hpp>
- #include <opencv2/imgproc/imgproc.hpp>
- #include <opencv2/core/core.hpp>
- using namespace cv;
- int main()
- {
- VideoCapture cap(0);
- if(!cap.isOpened())
- {
- return -1;
- }
- Mat frame;
- Mat edges;
- bool stop = false;
- while(!stop)
- {
- cap>>frame;
- cvtColor(frame, edges, CV_BGR2GRAY);
- GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
- Canny(edges, edges, 0, 30, 3);
- imshow("当前视频",edges);
- if(waitKey(30) >=0)
- stop = true;
- }
- return 0;
- }
对代码的几点说明:
1. VideoCapture类有两种用法,一种是VideoCapture(const string& filename)用来打开视频文件,一种是VideoCapture(int device)用来打开设备。
2. isOpened函数用来检测VideoCapture类是否打开成功。
3. C++版本的OpenCV有一个明显的好处,就是不需要释放操作(不论是视频还是图片),VideoCapture类的析构函数会自动帮你完成。
本文介绍使用OpenCV启动摄像头的方法,并提供了一段示例代码。文章详细解释了VideoCapture类的两种用法及其如何判断是否成功打开摄像头。此外,还介绍了C++版本OpenCV的一个优势:不需要手动释放资源。
1020

被折叠的 条评论
为什么被折叠?



