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学习_2 (opencv结构&显示图像)_第1张图片



显示图像

基于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, 欢迎交流!)


你可能感兴趣的:(opencv,opencv,结构,图像显示,opencv结构)