`
jgsj
  • 浏览: 961102 次
文章分类
社区版块
存档分类
最新评论

opencv函数和数据类型说明

 
阅读更多

转自:http://pengjuchen.blog.sohu.com/67270697.html

函数:
cvCreateImageHeader只创建图像信息头,不分配数据单元cvCreateImageData创建分配数据单元,合起来就是:cvCreateImage
cvInitImageHeader可以重新初始化图像头
IplImage*cvCreateImage(CvSizesize,intdepth,intchannels);
voidcvReleaseImage(IplImage**image);
IplImage*cvCloneImage(constIplImage*image);
voidcvSetImageROI(IplImage*image,CvRectrect);
voidcvResetImageROI(IplImage*image);等效于:
cvSetImageROI(image,cvRect(0,0,image->width,image->height));cvSetImageCOI(image,0);
CvRectcvGetImageROI(constIplImage*image);
voidcvCopyImage(IplImage*src,IplImage*dst);//如果目标较小,可自动重新分配单元
voidcvRunningAvg(IplImage*imgY,IplImage*imgU,doublealpha,IplImage*mask=0);
//下面的函数可以在8U、32F之间进行转换
voidcvConvertScale(constCvArr*src,CvArr*dst,doublescale=1,doubleshift=0);
//矩阵与图像之间互相赋值转换
voidcvSetImageData(IplImage*image,void*data,intstep);
voidcvSetData(CvArr*arr,void*data,intstep);//之前HeadershouldbeinitializedbeforeusingcvCreateImageHeader,cvInit*HeaderorcvMat(incaseofmatrix)function
///////////////////////////////
//高速的!:
voidcvGetImageRawData(constIplImage*image,uchar**data,int*step,CvSize*roiSize);
CvMat*cvGetMat(constCvArr*arr,CvMat*header,int*coi=NULL,intallowND=0);
IplImage*cvGetImage(constCvArr*arr,IplImage*image_header);

voidcvSplit(constCvArr*src,CvArr*dst0,CvArr*dst1,CvArr*dst2,CvArr*dst3);

//以下两句联合使用,可以相当于:CvMat*cvCreateMat(introws,intcols,inttype);
CvMat*cvCreateMatHeader(introws,intcols,inttype);
voidcvCreateData(CvArr*arr);
//以下这句可以重新初始化矩阵
voidcvInitMatHeader(CvMat*mat,introws,intcols,inttype,void*data=0,intstep=CV_AUTOSTEP);
CvMat*cvCreateMat(introws,intcols,inttype);
voidcvReleaseMat(CvMat**mat);
CvMat*cvCloneMat(constCvMat*mat);
CvSizecvGetSize(constCvArr*arr);
//读取、设置矩阵元素
doublecvmGet(constCvMat*mat,introw,intcol);
voidcvmSet(CvMat*mat,introw,intcol,doublevalue);

//得到图像或矩阵块中的子矩阵
CvMat*cvGetSubArr(constCvArr*arr,CvMat*subarr,CvRectrect);
//或者得到某元素的字符指针:uchar*cvGetAtPtr(constCvArr*arr,introw,intcol=0);
//得到行、列、对角线子矩阵:cvGetRowcvGetColcvGetDiag

//给矩阵赋值,一般是先创建一个矩阵头,然后把一个数据块的指针用SetData或InitMatHeader给它。另外注意,二者的数据类型必须一致!

voidcvAdd(constCvArr*A,constCvArr*B,CvArr*C,constCvArr*mask=0);
voidcvSub(constCvArr*A,constCvArr*B,CvArr*C,constCvArr*mask=0);
CvScalarcvDet(constCvArr*A);
CvScalarcvTrace(constCvArr*A);
voidcvInvert(constCvArr*A,CvArr*B);
voidcvMulTransposed(constCvArr*A,CvArr*C,intorder);
voidcvFlip(constCvArr*A,CvArr*B,intflipMode);
doublecvDotProduct(constCvArr*src1,constCvArr*src2);
voidcvCrossProduct(constCvArr*src1,constCvArr*src2,CvArr*dst);
voidcvTranspose(constCvArr*src,CvArr*dst);
voidcvFlip(constCvArr*A,CvArr*B,intflipMode);
doublecvDet(constCvArr*mat);
intcvSolve(constCvArr*src1,constCvArr*src2,CvArr*dst,intmethod=CV_LU);
voidcvEigenVV(CvArr*mat,CvArr*evects,CvArr*evals,doubleeps=0);
voidcvSet(CvArr*arr,CvScalarvalue,constCvArr*mask=NULL);
//重新调整矩阵元素(只是指针调整,好像)
CvMat*cvReshape(constCvArr*A,CvMat*header,intnewNumChannels,intnewRows=0);
//一般形式的矩阵运算
voidcvScaleAdd(constCvArr*A,CvScalarS,constCvArr*B,CvArr*C);
voidcvMatMulAdd(constCvArr*A,constCvArr*B,constCvArr*C,CvArr*D);
voidcvMatMulAddS(constCvArr*A,CvArr*C,constCvArr*M,constCvArr*V=0);
voidcvGEMM(constCvArr*src1,constCvArr*src2,doublealpha,constCvArr*src3,doublebeta,CvArr*dst,inttABC=0);

voidcvMinMaxLoc(constCvArr*arr,double*min_val,double*max_val,
CvPoint*min_loc=NULL,CvPoint*max_loc=NULL,constCvArr*mask=NULL);

intcvSolve(constCvArr*src1,constCvArr*src2,CvArr*dst,intmethod=CV_LU);least-squares

数据类型:
CvScalarcvRealScalar
CvPoint
CvPoint2D32f
CvPoint3D32f
CvSize强制类型转换的时候用cvSize
CvRect
CvMat*
CV_RGB(255,255,255)
IplConvKernel*是不是模板核专用的呢??
IplImage*
intnSize;/*sizeof(IplImage)*/
intnChannels;/*MostofOpenCVfunctionssupport1,2,3or4channels*/
intdepth;/*pixeldepthinbits:
intorigin;/*0-top-leftorigin,1-bottom-leftorigin(Windowsbitmapsstyle)*/
intwidth;/*imagewidthinpixels*/
intheight;/*imageheightinpixels*/
struct_IplROI*roi;/*imageROI.whenitisnotNULL,thisspecifiesimageregiontoprocess*/
void*imageId;/*ditto*/
intimageSize;/*imagedatasizeinbytes=image->height*image->widthStep
char*imageData;/*pointertoalignedimagedata*/
intwidthStep;/*sizeofalignedimagerowinbytes*/
IlpImage和CvMat的傻瓜统一形式即是:CvArr

分享到:
评论

相关推荐

    OPENCV函数手册PDF版.zip

    OPENCV函数手册,OPENCV常用函数速查,详细使用例子OpenCV概述 FAQ中文 CxCore中文参考手册 基础结构 数组操作 动态结构 绘图函数 数据保存和运行时类型信息 其它混合函数 错误处理和系统函数 机器学习中文参考手册

    OpenCV常用函数、数据类型查询.chm

    OpenCV函数众多,有了查询工具可以很快查询出所需函数

    opencv函数手册包含最新的GPU编程内容

    opencv函数手册包含最新的GPU编程内容,基本包含opencv近期新加的函数与数据类型,非常好的编程手册。

    opencv数据类型转换函数.zip_C/C++_

    opencv中常见的Mat IplImage CvMat IplImage*数据类型转换函数

    OPENCV中文手册

    基础结构 • 数组操作 ...o 运行时类型信息和通用函数 ------------ --- • 其它混合函数 • 错误处理和系统函数 o 错误处理 o 系统函数 谭俊河 • 依字母顺序函数列表 • 例子列表 -----

    学习OPENCV(中文版)

    OpenCV的基本数据类型 CvMat矩阵结构 IplImage数据结构 矩阵和图像操作 绘图 数据存储 集成性能基元 小结 练习 第4章 细说HighGUI 一个可移植的图形工具包 创建窗口 载入图像 显示图像 视频的处理 ConvertImage函数 ...

    OpenCV中文手册

    数据保存和运行时类型信息 其它混合函数 错误处理和系统函数 机器学习中文参考手册 CvAux中文参考手册 CvvImage类参考手册 CvImage类参考手册 CvImage中的陷阱和BUG Cv中文参考手册 图像处理 结构分析 ...

    OpenCV函数

    1. 数据类型 CV_8UC1:8位无符号单通道矩阵 CV_32FC2:32位浮点数双通道矩阵 (数据数有三种:U,F,S有符号整数)

    学习opencv中文版

    开始准备 初试牛刀—— 显示图像 第二个程序—— 播放AVI视频 视频播放控制 一个简单的变换 一个复杂一点的变换 从摄像机读入数据 写入AVI视频文件 小结 练习 第3章 初探OpenCV OpenCV的基本数据类型 CvMat矩阵结构 ...

    opencv经典学习书籍和帮助文档

    opencv经典学习书籍,和帮助文档,共有四分。书籍是入门学习很好用,文档是参训函数和数据类型用的,很方便

    matlab使用opencv的开发工具包mexopencv

    mexopencv是matlab使用opencv的开发工具包,提供了很多OpenCV的api函数接口,还包含MATLAB的数据类型和OpenCV的数据类型转换的c++类等。

    OpenCV计算机视觉基础教程(Python版)试题及答案.doc

    A、Java B、C/C++ C、Python D、JavaScript 4、下列选项中,可在NumPy中表示复数的数据类型是( )。 A、int B、single C、complex64 D、double 5、NumPy中可执行矩阵乘法的运算符是( ) A、* B、** C、/ D、@ 6、...

    opencv 中文参考手册

    数据保存和运行时类型信息  6. 其它混合函数  7. 错误处理和系统函数  机器学习中文参考手册  CvAux中文参考手册  CvvImage类参考手册  CvImage类参考手册  CvImage中的陷阱和BUG

    mexopencv, 一种用于OpenCV库的matlab mex函数集合及开发.zip

    mexopencv, 一种用于OpenCV库的matlab mex函数集合及开发 mexopencv OpenCV库中 MATLAB MEX函数的集合与开发包。软件包提供了与数以百计的OpenCV api接口的MATLAB... 软件包还包含一个 C 类,它在matlab数据类型和OpenC

    OpenCV中文参考手册

    数据保存和运行时类型信息 其它混合函数 错误处理和系统函数 机器学习中文参考手册 CvAux中文参考手册 Cv中文参考手册 图像处理 结构分析 运动分析与对象跟踪 模式识别 照相机定标和三维重建 HighGUI...

    OpenCV中文参考手册2010年

    5. 数据保存和运行时类型信息 6. 其它混合函数 7. 错误处理和系统函数 机器学习中文参考手册 CvAux中文参考手册 CvvImage类参考手册 CvImage类参考手册 CvImage中的陷阱和BUG Cv中文参考手册 1. 图像处理 2. 结构...

    openCV参考手册

    英文版 openCV参考手册 对openCV数据类型和其函数有很详细的说明

    opencv学习资料

    1.3.2 (2) 矩阵数据类型: 1.3.3 (3) 图像数据类型: 1.3.4 (4) 头文件: 1.4 4、编译建议 1.4.1 (1) Linux: 1.4.2 (2) Windows: 1.5 5、C++例程 2 二、GUI 指令 2.1 1、窗口管理 2.1.1 (1) 创建和...

    openCV 之 读取视频

    输入一个CvCapture 类型的指针,该函数主要功能是将视频文件的下一帧加载到内存。与 cvLoadImage的不同之处是,该函数不重新分配内存空间。 C=cvWaitKey(33) 当前帧被显示后,等待 33毫秒。如果用户触发了一个按键...

    opencv CXCORE 参考手册

    基础结构 数组操作 初始化 获取元素和数组子集 ...运行时类型信息和通用函数--------------- 其它混合函数********************************************* 错误处理和系统函数 错误处理 系统函数

Global site tag (gtag.js) - Google Analytics