[英]IplImage vs CvMat
我知道很多人對IplImage
和CvMat
之間的技術差異感興趣。 (是的,不是cv::Mat
(*),而是CvMat
。)所以,讓我們以實際為重點來區分差異。
CvMat
是IplImage
版本嗎? CvMat
只是IplImage
的包裝器嗎? 如果是這樣,為什么他們也開發CvMat
?
我問了這些問題,因為我看到IplImage
在整體搜索中是最受歡迎的,在我看來它也是最多的帖子。
仍然使用IplImage而不是更新的結構有什么好處 ?
(*)(我在這里也提出了c ++標簽,因為許多人也在使用c ++,而且有些庫更喜歡IplImage
。)
我建議您閱讀Learning OpenCV一書中的OpenCV Primitive Data Types段落。 關於這兩種數據類型之間的差異有一個很好的解釋。
IplImage
來自英特爾圖像處理庫,根據文檔: http : //opencv.willowgarage.com/documentation/basic_structures.html#iplimage
這個問題也解決了CvMat
結構,你可能會注意到: OpenCV的cvMat的內存結構是什么?
至於哪個更有益:雖然在各種情況下CvMat
或IplImage
在這里或那里可能存在輕微的速度差異 - 這取決於你想要做什么。 例如,您需要在內存中共享矩陣結構嗎? 您是否需要高效序列化或搜索等? 申請很重要。
(從理論上講, IplImage
提供的一個優勢是,由於它的譜系,它通常與現有的實現更兼容,正如您所指出的那樣。)
回答你的問題:
仍然使用IplImage而不是更新的結構有什么好處?
也許沒有。 由於某些原因它已被開發者棄用了,我猜你仍然會發現它的原因很多是因為遺留代碼; 因為人們仍然遵循舊的代碼示例而不知道該結構已被棄用,並且因為“學習OpenCV 第一版 ”在opencv函數簽名和數據結構方面已經過時,但仍然有許多人以opencv開頭。
作為參考, 學習OpenCV第二版應該是2013年3月,但不要引用我;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.