如何转换cv :: Mat至CvArr?

cho*_*vil 7 c++ opencv

我已经花了很多时间搜索如何从cv :: Mat或CvMat转换为CvArr,但没有任何收获,请帮助我,谢谢.

Viv*_*hto 5

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::MatCvArr通过这种方式。而不是tmp直接使用使用&tmp


lez*_*lon 1

如果我没记错的话,CvMat 是一个 CvArr,因此您可以将其转换为 CvArr,现在 CvArr 的第一个字节告诉函数它实际上是一个 CvMat:http: //opencv.willowgarage.com/documentation/basic_structs .html#cvarr