您的位置:首页 > 运维架构

opencv相关的一些函数

2010-07-25 11:27 375 查看
1.LoadImage():图像载入函数。语法:IplImage * cvLoadImage(const char* filename, int iscolor==1);

2. namedwindow()窗口定义函数;语法:int cvNamedWindow(const char*name,unsigned long flags);

3. showImage();图像显示函数; 语法:void cvShowImage(const char* name, const CvArr* image);

4.WaitKey();案件等待函数; 语法:int cvWaitKey(int delay==0);

5.SaveImage();图像保存函数;语法:int cvSaveImage( const char * filename, const CvArr* image);

6.DestroyWindow();窗口销毁函数;语法:void cvDestroyWindow( const char* name);

7.ReleaseImage(); 图像销毁函数;语法;void cvReleaseImage(IplImage ** image);

8.其他函数:cvCreateImage , cvReleaseImage, cvCreateMat, cvReleaseMat, cvCloneImage, cvClonemat等;

其中创建图像的函数语法:IplImage * cvCreateImage( CvSize ,int depth, int channels);

9. 矩阵相关处理函数:CvMat相关的处理函数:

CvMat *cvCreateMat(int rows, int cols, int type);

CvMat * cvInitMatHeader(CvMat * mat, int rows, int cols, int type, void * data=NULL, int step=CV_AUTOSTEP);

CvMat cvMat(int rows, int cols, int type, void * data=NULL);

CvMat cvCloneMat( const CvMat* mat);

void cvReleaseMat(CvMat ** mat);

10. 对数组元素的复制和添加:

void cvCopy( const CvArr * src, CvArr * dst, const CvArr * mask=NULL);

void cvSet( CvArr * arr, CvScalar value ,const CvArr * mask=NULL);

void cvSetZero(CvArr * arr);

void cvSetIdentity(CvArr * mat, CvScalar value=cvRealScalar(1));

void cvRange(CvArr * mat ,double start , double end);

11.获取数组元素的数组自己:

CvMat *cvGetSubRect( const CvArr * arr, CvMar * submat, CvRect rect);

cvMat *cvGetRow( const CvArr *arr, CvMat *submat, int row);

CvMat *cvGetRows(const CvArr *arr, CvMat *submat, int start_row, int end_row, int delta_row=1);

CvMat *cvGetCol( const CvArr* arr, CvMat *submat, int col);

CvMat *cvGetCols(const CvArr * arr, CvMat * submat, int start_col, int end_col);

CvMat * cvGetDiag( const CvArr * arr ,CvMat * submat ,int diag=0); //返回对角线上的元素

CvSize cvGetSize(const CvArr* arr);

int cvGetElemType(const CvArr * arr);

int cvGetDims( const CvArr * arr ,int * sizes=NULL);

int cvGetDimSize( const CvArr * arr ,int index);

void cvClearND( CvArr* arr, int * idx);

uchar * cvPtrID(const CvArr* arr, int idx0, int *type=NULL);

uchar* cvPtr2D( const CvArr * arr, int idx0, int idx1, int * type=NULL);

uchar * cvPtr3D(const CvArr * arr , int idx0, int idx1, int idx2, int *type=NULL);

unchar *cvPtrND*(const CvArr * arr, int * idx, int * type=NULL, int create_node=1, unsigned*precalc_hashval=NULL);

CvScalar cvGet!D(const CvArr* arr ,int idx0); .......

double cvGetReal1D(const CvArr* arr, int dix0);.......

double cvmGet(const CvMat * mat ,int row ,int col );

void cvSet1D(CvArr *arr, int idx0, CvScalar value); .....

void cvSetReal1D(CvArr *arr, int idx0, double value);...

void cvmSet( CvMat* mat, int row ,int col ,double value);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: