0

我是 OpenCV 的新手,所以希望这不是一个太愚蠢的问题。

作为 OpenCV 操作(从设备捕获图像数据)的结果,我得到了一个 IplImage。

根据它的实际大小,我首先必须对其进行缩放,然后将其转换为普通的原始 24 位 RGB 格式。

对于第一次操作,我想有一些可用的缩放功能。但是如何访问和转换原始图像数据呢?我在 IplImage 结构中找不到任何合适的东西 - 至少我无法将成员标识为指向图像数据的指针。

任何缓慢读取每个像素的操作都不合适,我必须经常执行该操作,因此需要快速访问数据。

4

1 回答 1

1

首先你为什么使用IplImage而不是cv::Mat?这是保存图像的最佳格式。

对于您的第一次操作,有resize功能。

要将其转换为 RGB 格式(如果我没记错的话,OpenCV 默认将图像保存为 BGR 格式),您可以使用cvtColor函数和代码(第 3 个参数)CV_BGR2RGB

或者,如果您想获取指向图像(像素)数据的指针,请参阅此SO question

于 2012-06-18T12:34:28.430 回答