iplimage 图像大小与垫子大小相同吗?

Posted

技术标签:

【中文标题】iplimage 图像大小与垫子大小相同吗?【英文标题】:Is the iplimage imagesize same as mat size? 【发布时间】:2019-02-28 08:25:41 【问题描述】:

iplimage imagesize 是否与 mat size 相同?有什么区别,我们如何互相替换它们?

【问题讨论】:

AFAIK,你真的不应该再使用IplImage了。 实际上,我正在将代码更新到 opencv 4。所以,我用 Mat 替换了 iplImage,但是在代码中它设置了 `IplImage *p; p->ImageSize= (something), 因为我把它替换为 cv::Mat px;我想知道 p->imagesize 是否与 px.size.p(pointer to the size) 相同? 【参考方案1】:

IplImage* 是指向图像数据结构 IplImage 的指针。在opencv的C API中使用。

opencv 2.0之后,引入了C++ API,“Mat”结构取代了IplImage。

它们的数据存储是相同的,所以大小大致相同(如果不完全一样)

1- 从 cv::Mat 到 iplImage*

Mat frame;
// read the image...ect
IplImage* frame2 = cvCloneImage(&(IplImage)frame);

2- 从 iplImage 到 cv::Mat

IplImage * ipl = ...;
cv::Mat m = cv::cvarrToMat(ipl);

【讨论】:

以上是关于iplimage 图像大小与垫子大小相同吗?的主要内容,如果未能解决你的问题,请参考以下文章

opencv如何计算图像中物体的像素值

如何在 OpenCV 中将图像调整为特定大小?

如何将 2D 垫子组合成 3D 垫子?

OpenCV 3.0中IplImage* 转cv::Mat

OpenCv函数学习

一些常用的opencv函数