尝试在 OpenCv 中使用来自 Mat 对象的转换后的 IplImage 对象时出错

Posted

技术标签:

【中文标题】尝试在 OpenCv 中使用来自 Mat 对象的转换后的 IplImage 对象时出错【英文标题】:Getting an error while trying to use converted IplImage objects from Mat objects in OpenCv 【发布时间】:2012-04-14 02:31:01 【问题描述】:

IplImage *IplImg;

Mat ImgMat(IplImg);

imshow("垫子", ImgMat);

在 OpenCV 中,如上所述,我可以将 IplImage 对象转换为 Mat 对象,并将这个新的 IplImage 对象与 imshow 函数一起使用。

Mat ImgMat;

IplImage IplImg(ImgMat); //没有错误

cvNamedWindow("Ipl",CV_WINDOW_NORMAL);

cvShowImage("Ipl",IplImg); // 抛出错误

但是当涉及到将 Mat 对象转换为 IplImage 对象并将这个新对象与 cvShowImage 函数一起使用时,编译器会给出错误:“没有合适的转换函数从“IplImage”到“const CvArr *”

你能帮我弄清楚为什么这个简单的操作不适用于 cvShowImage 吗?

提前致谢。

【问题讨论】:

【参考方案1】:

cvShowImage 需要一个指向 IplImage 的指针

cvShowImage("Ipl",&IplImg); // should not throw

【讨论】:

以上是关于尝试在 OpenCv 中使用来自 Mat 对象的转换后的 IplImage 对象时出错的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 中 Mat 对象的标头是啥意思?

来自 Mat 的 OpenCV 访问元素

在 Opencv 中将数据放入 Mat 对象中

使用 JavaFX 显示 OpenCV Mat

OpenCV Mat 对象 - 获取数据长度

OpenCV 访问 MAT 对象中的 RGB 值