2012-07-12 32 views
0

我想發送Iplimage到另一個程序作爲一個字節數組在C/C /。該程序需要將Iplimage保存爲jpeg圖像。假設Iplimage是img,我通過cvQyeryFrame從avi視頻文件獲取,我將img-> imagedata返回到其他程序。 img-> imagedata是否包含要保存的jpeg圖像的標題,還是隻包含數據?如果它只包含數據,我如何包含標題?我可以使用cvSaveImage保存圖像,然後閱讀它,但應該有一個更直接的方式(也許cvEncodeImage?)發送Iplimage數據爲JPEG

謝謝。

回答

2

一旦從磁盤讀取了Iplimage中的數據,它就已經被解碼爲openCV自己的格式(通常是8位B,G,R)。

較新版本的opencv可以對內存中的圖像進行編碼/解碼,請參閱imencode

+0

另一個程序是C#,沒有OpenCv。其他C#程序可以將編碼圖像保存爲jpg而不必使用imdecode嗎? – fmvpsenior 2012-07-13 00:03:35

+0

一旦jpeg被編碼,它就是一個標準的jpeg。它可以被任何可以從一個字節塊讀取的jpeg庫解碼 – 2012-07-13 04:58:48

1

如果您需要整個JPEG數據,則可能需要考慮使用fread()而不是cvLoadImage()從磁盤讀取整個文件。

如果這不適合你,請考慮Martin的答案。