我花了很多时间搜索如何从 cv::Mat 或 CvMat 转换为 CvArr 但没有任何收获,请帮助我,谢谢。
问问题
30290 次
5 回答
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);
我是通过这种方式转换cv::Mat
的CvArr
。而不是tmp
直接使用 use &tmp
。
于 2015-03-02T12:24:07.957 回答
4
当我需要这样做时,我只需使用:
IplImage tmp = image;
使用图像 Mat 变量。
于 2013-02-27T16:04:45.600 回答
1
您确定要转换它吗?有时有等效的功能可以使用您所拥有的功能。例如cvMorphologyEx
正在使用CvArr
但morphologyEx
正在使用cv::Mat
.
于 2013-02-27T14:52:12.920 回答
1
如果我没记错的话,CvMat 是一个 CvArr,所以你可以将它转换成一个 CvArr,现在 CvArr 的第一个字节告诉函数它实际上是一个 CvMat: http ://opencv.willowgarage.com/documentation/basic_structures .html#cvarr
于 2012-04-22T17:13:43.667 回答
-1
首先使用以下方法转换图像:
IplImage* oldstyleimg = &matimg.operator IplImage()
我不记得它是只为图像创建标题还是复制
于 2013-02-27T15:30:19.720 回答