由于项目需要,最近开始研究OpenCV。
还是依照坏习惯先找本书看,用的教材是学习OpenCV,内容稍旧,翻译质量也一般,但也只有这么一本书可以用了。
在OS X上安装OpenCV有不少方法,先是尝试了下官方的源码然后自己编译安装,安装过程一切顺利,但就是不知道怎么用。于是卸载掉,用brew重新安装,装完了还是不知道怎么用。之后看了这篇,总算懂了。在用XCode建工程,增加头文件搜索路径,并加载OpenCV库之后,总算能正确编译例程了。虽然表面还是熟悉的C++,三两行间却实现了之前难以想象的复杂功能,完全感觉是另一种语言了。另外,这也是第一次用比较“高级”的IDE,自动补全真的是让人很易上瘾。
贴一段书上读取摄像头的小例程,总共18行就完整实现了读入摄像头数据并显示……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include "highgui.h" int main() { cvNamedWindow( "Exmaple2", CV_WINDOW_AUTOSIZE ); //打开一个窗口 CvCapture* capture = cvCreateCameraCapture(0); //声明一个摄像头输入 IplImage* frame; //声明一个帧指针 while (1) { //循环播放新帧 frame = cvQueryFrame( capture ); //从摄像头读入一帧 if( !frame ) break; cvShowImage( "Example2", frame ); //在窗口显示 char c = cvWaitKey(33); //等待0.033秒,并读取一个字符 if( c == 27 ) break; //如果是"Esc",则退出 } cvReleaseCapture( &capture ); cvDestroyWindow( "Example2" ); return 0; } |