0

我正在尝试将 Iplimage 作为 c++/cli 中的字节数组发送到另一个程序。程序需要将 Iplimage 保存为 jpeg 图像。假设 Iplimage 是我通过 cvQyeryFrame 从 avi 视频文件中获取的 img,我将 img->imagedata 返回给其他程序。img->imagedata 是否包含要保存的 jpeg 图像的标头,还是仅包含数据。如果它只包含数据,我如何包含标题?我可以使用 cvSaveImage 保存图像然后读取它,但应该有更直接的方法(也许是 cvEncodeImage?)

谢谢。

4

2 回答 2

2

一旦从磁盘读取 Iplimage 中的数据,就已经将其解码为自己的 openCV 格式(通常为 8 位 B、G、R)。

较新版本的 opencv 可以对内存中的图像进行编码/解码,请参见imencode

于 2012-07-12T23:42:18.267 回答
1

如果您需要整个 JPEG 数据,您可能需要考虑从磁盘读取整个文件,fread()而不是cvLoadImage().

如果这对您不起作用,请考虑马丁的回答。

于 2012-07-13T02:34:07.973 回答