分别使用OpenCV2 和MATLAB获取USB摄像头
本人初次接触OpenCV,被网上的各种配置和博客搞的很昏头,再自己各种捣腾和摸索后总结一点小小的经验给网友们分享一下。
关于OpenCV的一些小知识:
- 学习OpenCV的网站
- OpenCV官网
- OpenCV中文网站
- 各类大神博客
- OpenCV Tutorials
如果英语比较好建议直接看CV官网上的Document,如果不好的话就看中文网上的,没有官网全。
学习OpenCV的书籍如下推荐:
- 《学习OpenCV》为英文原著《Learning OpenCV》的翻译本,对于图像处理原理有较多的解释,缺点是基于1.0版本的,版本太旧。
- 《OpenCV2计算机视觉编程手册》更偏重于实践,针对于OpenCV2.0+版本的,也是必买书之一。
关于OpenCV版本问题:
- 这个是最初最困扰我的问题了,我开始下了个OpenCV3.0版本的(网上好像2.4.8也挺多的)然后找了好多网上的source code怎么都跑不通,后来才发现原来好多CSDN上的代码都是基于OpenCV1.0老版本的,老版本的函数类似于以下一些cvCapture, cvLoadImage, cvShowImage, 等等前缀加了cv的函数名,而2.0以上的版本开始向面向对象C++的封装方向发展了,都是基于类的而不是以前调用函数的方式了。
- 其实高版本的OpenCV中也带有低版本的库,譬如使用2.0以上就要申明以下代码片一,
而使用OpenCV1.0中的函数时候,可以申明如以下代码片二,而且在一个项目中也可以同时使用不同版本的函数的。
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\opencv.hpp>
#include <opencv\cv.h>
#include <opencv\highgui.h>
由于我在跑网上早起版本OpenCV源码都跑不通,调用的摄像头都是白乎乎的没有任何图像,所以我放弃了OpenCV1.0中的C语言封装,使用基于类的调用的OpenCV2.0及以上版本的类的方法。废话不多说了,下面开始说明如何用OpenCV调用USB摄像头!
一、使用OpenCV2.0+调用USB摄像头
废话不多说先撸代码为敬!
(本人用的vs2013+opencv3.0如何配置请看VS2013+OpenCV3.0)
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#inclu