赞
踩
Opencv1.0版本于2006年面世,主要基于C语言。2009年发布opencv2,主要基于C++。此时opencv库被划分成多个模块:
Opencv_core模块:包含核心功能,尤其是底层数据结构和算法函数。
Opencv_improc模块:包含图像处理函数。
Opencv_highgui模块:包含读写图像及视频的函数,以及操作图形用户界面函数。
Opencv_features2d模块:包含兴趣点检测子,描述子以及兴趣点匹配框架。
Opencv_calib3d模块:包含相机标定,双目几何估计以及立体视觉函数。
Opencv_video模块:包含运动估算,特征跟踪以及前景提取函数与类。
Opencv_objdetect模块:包括物体检测函数,如脸部和行人检测。
库中还包含其它的工具模块,如机器学习(opencv_ml),计算几何(opencv_flann),第三方代码(opencv_contrib)等。这些模块都对有一个单独的头文件(位于include文件夹)。推荐的声明方式如下:
#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\imgproc\imgproc.hpp>
而#include "cv.h"是旧的代码方式
………………………………………………………………
读取、显示和保存图片
- #include "stdafx.h"
- #include "opencv2/core/core.hpp"
- #include "opencv2/imgproc/imgproc.hpp"
- #include "opencv2/highgui/highgui.hpp"
- #include <iostream>
- using namespace std;
- using namespace cv;
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- Mat image=imread("D:\\document_x64\\documents\\visual studio 2012\\Projects\\ConsoleApplication1\\Debug\\lena.jpg",1);//读取图片
- if(!image.data)// data指向已分配内存块的指针
- {
- cout<<"fail to load image"<<endl;
- }
- cout <<"image size: "<<image.size().height<<","<<image.size().width<<endl;//size()返回的是一个结构体
- namedWindow("show");
- imshow("show",image);// 显示图片
- imwrite("D:\\document_x64\\documents\\visual studio 2012\\Projects\\ConsoleApplication1\\Debug\\lena2.jpg",image);
- Mat result;
- flip(image,result,0);
- namedWindow("result",0);
- imshow("result",result);
- waitKey(0);
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。