我试图将Iplimage作为c ++ / cli中的字节数组发送到另一个程序。该程序需要将Iplimage保存为jpeg图像。假设Iplimage是img,我从avi视频文件中通过cvQyeryFrame获得,我将img-> imagedata返回给其他程序。 img-> imagedata是否包含要保存的jpeg图像的标头,或者它是否仅包含数据。如果它只包含数据,我该如何包含标题?我可以使用cvSaveImage保存图像,然后读取它但应该有更直接的方法(也许是cvEncodeImage?)
感谢。
答案 0 :(得分:2)
从磁盘读取后,Iplimage中的数据已经被解码为openCV的自身格式(通常为8bit B,G,R)。
较新版本的opencv可以对内存中的图像进行编码/解码,请参阅imencode。
答案 1 :(得分:1)
如果您需要整个JPEG数据,可能需要考虑使用fread()
而不是cvLoadImage()
从磁盘读取整个文件。
如果这不适合你,请考虑马丁的回答。