Mat img = imread("C:\MyPic.jpg",CV_LOAD_IMAGE_GRAYSCALE);
IplImage tmp=img;
cvErode(&tmp, &tmp, 0, 2);
Mat laser=&tmp;
imshow("Eroded",laser);
Run Code Online (Sandbox Code Playgroud)
我转换cv::Mat为CvArr通过这种方式。而不是tmp直接使用使用&tmp。
如果我没记错的话,CvMat 是一个 CvArr,因此您可以将其转换为 CvArr,现在 CvArr 的第一个字节告诉函数它实际上是一个 CvMat:http: //opencv.willowgarage.com/documentation/basic_structs .html#cvarr