cvConvert的用法

OpenCV可用以下函数显示一个CvArr类数据mat

cvNamedWindow("WinName",CV_WINDOW_AUTOSIZE);
cvShowImage("WinName",mat);
cvWaitKey(0);

但往往仅当mat为IIplmage*类型,且其depth为IPL_DEPTH_8U(8bit无符号整形)时,有较好的显示效果

对于其他深度的IplImage*或者CvMat*类数据,可以使用CvConvert函数进行转换,而后显示。如下所示

void Show(CvMat* mat)
{
CvSize size = cvSize(mat->width,mat->height);
IplImage* imgBuf = cvCreateImage(size,IPL_DEPTH_8U,1);
cvConvert(mat,imgBuf);
cvNamedWindow("mat",CV_WINDOW_AUTOSIZE);
cvShowImage("image",mat);
cvWaitKey(0);

cvReleaseImage(&imgBuf);
}

你可能感兴趣的:(image)