影像程式設計的好幫手-四大影像庫:OpenCV/FreeImage/CImg/CxImage

love_hot_girl發表於2020-04-07
影像程式設計的好幫手-四大影像庫:OpenCV/FreeImage/CImg/CxImage
2009-01-09 20:22

1.對OpenCV 的印象:功能十分的強大,而且支援目前先進的影像處理技術,體系十分完善,操作手冊很詳細,手冊首先給大家補計算機視覺的知識,幾乎涵蓋了近10年內的主流演算法;

然後將影像格式和矩陣運算,然後將各個演算法的實現函式。
我用它來做了一個Harris角點檢測器和Canny邊緣檢測器,總共就花了一個小時(第一次用OpenCV)。
而且該庫顯示影像極其方便,兩句話就可以。
但該庫似乎不大穩定,對32F和16S、8U的影像資料支援上bug重重。
我用 cvFilter2D函式進行線性濾波,屢屢出錯,後來一查原來是大bug。
後來用cvmGet來取矩陣元素也是頻繁出錯,仔細檢查了N遍確保程式沒問題之後在yahoogroup上找到答案:仍然是bug。。。
但好歹該庫是開放的,所以自己可以修改;而且支援CVS。另外該庫用的是IPL矩陣庫,速度奇快~~

http://sourceforge.net/projects/opencvlibrary/

2.對CxImage考察的印象:該開發包完全開放原始碼,影像封裝為一個類,功能極為強大,與Windows、MFC支援極好
,支援影像的多種操作(線性濾波、中值濾波、直方圖操作、旋轉縮放、區域選取、閾值處理、膨脹腐蝕、alpha混合等等)
,支援從檔案、記憶體或者win32api 定義的點陣圖影像格式中讀取影像,支援將影像顯示在任意視窗
,功能可謂很強大了,而且對畫素的操作很方便
,另外還有一個介面很強的demo,可以直接在上面進行二次開發,推薦使用!

缺點:裡面的子庫很多,用起來可能較麻煩;而且感覺速度稍慢,不如後面提到的freeimage
但功能真的十分強大啊!

http://www.xdp.it/cximage.htm

3. CImg:就一個.h檔案所以用起來很簡明,但感覺功能上不如CxImage。
可以與CxImage配合使用,因為CImg提供了基於lapack的矩陣運算函式和完善的線性濾波卷積函式,同時CImg做畫素運算還是很方便的。
另外,獨有Display類可以方便的實現各種顯示,包括顯示影像、打字、畫線等等。還有,該庫有個基於光流的多尺度影像配準例子,很好。

http://cimg.sourceforge.net/

4.FreeImage:C語言的體系,大量使用指標運算速度可以保證,內含先進的多種插值演算法。
另外獨有的支援meta exif資訊的讀取。該庫最大的特點就是比較簡練,只把重點放在對各種格式影像的讀取寫入支援上,沒有顯示部分,實際程式設計的時候還是需要呼叫API函式進行顯示。

http://freeimage.sourceforge.net/

相關文章