圖像編程的好幫手-四大圖像庫:OpenCV/FreeImage/CImg/CxImage

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/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章