读书人

Opencv学习_二 (opencv结构amp;显示图像

发布时间: 2013-10-30 12:56:21 作者: rapoo

Opencv学习_2 (opencv结构&显示图像)

opencv结构:

1:主要包含:

cxcore cv machine learning highgui cvcam cvaux

2:cxcore:

基础结构:CvPoint,CvSize, CvScalar等

数组结构:cvCreateImage,cvCreateMat等

动态结构:CvMemStorage,CvMemBlock等

绘图函数: cvLine,cvRectangle等

数据保存和运行时类型信息:CvFileStorage,cvOpenFileStorage等

错误处理和系统函数:cvGetErrStatuscvAlloc,cvFree等

3:cv

图像处理:cvSobel,cvCanny等

结构分析:ContourArea等

运动分析和目标跟踪:cvMeanShift

模式识别: CvHaarFeature

摄像头定标与三维重建:cvCalibrateCamer2

4: Machine Learning(ML)

包含许多聚类、分类和数据分析函数。如Bayes分类器,K邻近算法,支持向量机,决策树,神经网络等

5:HighGUI

图像界面函数:cvNamedWindow

读图像和保存图像:cvLoadImage,cvSaveImage

读视频和写视频:cvCreateFileCapture等

6:cvcam

摄像机接口,在Opencv1.0以后的版本中已经被移除

7:cvaux

该模块中一般存放一些即将被淘汰的算法和函数(如基于嵌入式隐马尔科夫的人脸识别算法),还包含一些实验性的算法和函数(前景检测,背景剔除)

Opencv学习_二 (opencv结构&显示图像)



显示图像:

基于opencv,我们可以读取各种图像文件,视频文件,还可以读取摄像头。这些功能是Opencv开发包中HighGUI工具集的一部分。下面,我们就使用其中的一些功能来实现如何显示一副图像

代码:

#include <iostream>#include "cv.h"#include "highgui.h"#include "cxcore.h"using namespace std;using namespace cv;int main(){IplImage * src = cvLoadImage("F:\\11.jpg",-1);  // 这里的\\代表转义cvNamedWindow("show",0);cvShowImage("show", src);cvWaitKey(0);cvReleaseImage(&src);cvDestroyWindow("show");return 0;}
1: 载入图片:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );

其中

filename :要被读入的文件的文件名。

flags :指定读入图像的颜色和深度:1-color , 0- gracy , -1--unchanged, 2--anydepth ,4-anycolor

函数从指定文件读入图像,返回读入图像的指针

2:创建窗口: int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );

其中

name:窗口的名字

flags: 默认为CV_WINDOW_AUTOSIZE ,等于1,此时不能用鼠标拖动窗口的大小;设为0,则可以拖动窗口的大小

3:等待按键时间: int cvWaitKey( int delay=0 );

其中

delay≤0,则一直等待下去,知道用户按下按键,此时返回按键的ascii码,如果delay>0,则等待delay ms,此时返回-1,如果期间用户按下了按键,则等待delay ms后,返回按键的ascii码。


作者:小村长 出处:http://blog.csdn.net/lu597203933 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:小村长zack, 欢迎交流!)


读书人网 >图形图像

热点推荐