opencv3.1 把mat轉IplImage
阿新 • • 發佈:2018-12-31
在vs2015和cv3.1,findContours()找出輪廓這個函式沒反應,直接退出。這個函式是mat做輸入的。
我覺得之前的灰度化,二值化沒有問題。該是單通道的是單通道。
斷點後,重新配置環境,還是有點搞不懂。
換成cvFindContours(),這個用IplImage做輸入的。可以跑出結果。
mat轉iplImage
opencv3.1取消了mat直接轉iplImage部分函式,但是下面程式碼還是可以的
IplImage* src;
src = cvCreateImage(cvSize(mat.cols, mat.rows), 8, 1); //輸入Mat格式
IplImage ipltemp = mat;
cvCopy(&ipltemp, src);//完全的imlImage進行復制
if (!src)
{
printf("read data error!\n");
return -1;
}
//ipltemp 就是要用的IplImage
IplImage轉mat
這行程式碼可做到
cv::Mat temp = cv::cvarrToMat(dst);//iplImage轉mat
對opencv還是有蠻多不懂的,比方mat為啥取消轉IplImage的函式呀,
為啥有cvFindContours()沒直接退出,findContours直接退出了。