将Iplimage数据发送为jpeg

时间:2012-07-12 23:31:15

标签: c++ opencv

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

感谢。

2 个答案:

答案 0 :(得分:2)

从磁盘读取后,Iplimage中的数据已经被解码为openCV的自身格式(通常为8bit B,G,R)。

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

答案 1 :(得分:1)

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

如果这不适合你,请考虑马丁的回答。

相关问题