放假第一天,简单的接触了下OpenCV,现在总结下今天的内容。
首先是VS2010下配置OpenCV,这是第一步,也是最重要的一步。
1.配置环境变量
打开我的电脑系统属性,在用户变量或者系统变量中修改Path,加上OpenCV的安装路径
vc9表示VS2008,不同的变量之间必须加上分号。
2.建立WIN32控制台程序
3.在项目--属性--vc++目录添加依赖库
上面的工作做完了,就可以编写简单的OpenCV程序了。
先看看OpenCV的大体结构
CxCore 最基本的 这里有基本数据结构 数组操作 动态结构等;
ML,cv,HighGui涉及图形的处理,一些识别的算法,当然刚刚接触,还有很多不懂。
下面列出写的两个基本的程序
////图片显示 保存// #include <opencv.hpp> //该头文件 显示图片 注意 #include <highgui.h> int main() { //文件资源 IplImage *src=cvLoadImage("F:\\project\\OPENCV\\First\\First\\CIMG1733.jpg",CV_LOAD_IMAGE_ANYCOLOR | CV_LOAD_IMAGE_ANYDEPTH); // 建立窗口 以名称区别 这里 窗口的显示位置可以发生变化 cvNamedWindow("show_image"); //在指定窗口显示 cvShowImage("show_image",src); //cvSaveImage 保存图片 //等待响应 大于0 则是等待时间 小于等于0则是等待按键 cvWaitKey(0); //释放图片资源 cvReleaseImage(&src); //释放窗口资源 cvDestroyWindow("show_image"); return 0; }
#include <opencv.hpp> int main() { //创建显示的窗口 cvNamedWindow("show_image"); //CvCapture 结构体 保存每一帧的信息 //这里的指针一般会出问题 原因 1.文件不存在 2.没有解码器 有解码器 可以读很多文件 3.没有链接库 移动到其他电脑上可能没有链接库 导致 //CvCapture *capture=cvCreateFileCapture("F:\\OpenCV\\2.flv"); //读取摄像头 可以多个摄像头获取 CvCapture *capture=cvCreateCameraCapture(-1); //这里的视屏只是读取文件 没有 读取 声音 IplImage *pshow; while(1) { //这里是获取内容 没有分配内存 而是覆盖 使用 获取每一帧的信息 pshow=cvQueryFrame(capture); cvShowImage("show_image",pshow); //下面控制帧率(每一秒播放的帧数) char c=cvWaitKey(33);//以毫秒计算 快进则是变小 慢则是变大 返回按键的ASCII值
//这里是退出键 if (c==27) break;
//对图片是单张处理的 所以在录制视屏时 完全可以再此时实现 识别 实现轨迹坐标的记录 等等 } //释放结构体 同时释放打开文件的相关信息 cvReleaseCapture(&capture); cvDestroyWindow("show_image"); return 0; }
好了,只是OpenCV简单的接触下,明天必须多花点时间接着学了,还要学习算法!!!