几种常用的图像处理函数库
from:http://www.wtoutiao.com/p/18a4MqP.html
幾種常用的圖像處理函數庫
OpenCV
OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個基于(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數可以通過在線文檔獲得。如今也提供對于C#,Ch, Ruby的支持。
所有新的開發和算法都是用C++接口。一個使用CUDA的GPU接口也于2010年9月開始實現。
點評:
功能十分的強大,而且支持目前先進的圖像處理技術,體系十分完善,操作手冊很詳細,手冊首先給大家補計算機視覺的知識,幾乎涵蓋了近10年內的主流算法;然后將圖像格式和矩陣運算,然后將各個算法的實現函數。該庫顯示圖像極其方便,但該庫似乎不大穩定,對32F和16S、8U的圖像數據支持上bug重重。好處是該庫是開放的,所以自己可以修改;而且支持CVS。另外該庫用的是IPL矩陣庫,速度很快。
CxImage
CxImage類庫是一個優秀的圖像操作類庫。它可以快捷地存取、顯示、轉換各種圖像。有的讀者可能說,有那么多優秀的圖形庫,如OpenIL,FreeImage,PaintLib等等。
點評:
該開發包完全開放源代碼,圖像封裝為一個類,功能極為強大,與Windows、MFC支持極好,支持圖像的多種操作(線性濾波、中值濾波、直方圖操作、旋轉縮放、區域選取、閾值處理、膨脹腐蝕、alpha混合等等),支持從文件、內存或者win32api定義的位圖圖像格式中讀取圖像,支持將圖像顯示在任意窗口,功能可謂很強大了,而且對像素的操作很方便,另外還有一個界面很強的demo,可以直接在上面進行二次開發,推薦使用!
缺點:里面的子庫很多,用起來可能較麻煩;而且感覺速度稍慢,不如后面提到的freeimage,但功能真的十分強大啊!
CxImage類庫是一個優秀的圖像操作類庫。它可以快捷地存取、顯示、轉換各種圖像。有的讀者可能說,有那么多優秀的圖形庫,如OpenIL,FreeImage,PaintLib等等,它們可謂是功能強大,齊全,沒必要用其它的類庫。但我要說,這些類庫基本上沒有免費的,使用這些類庫,你要被這樣那樣的許可協議所束縛。在這點上,CxImage類庫是完全免費的。另外,在使用上述類庫時,你會遇到重重麻煩。因為它們大部分是平臺無關的,且用C語言寫成,有的還夾雜著基本的C++ wrapper和成堆德編譯選項的聲明需要你去處理。而CxImage類庫在這方面做得很好。還有讓我最看好的,就是作者完全公開了源代碼。相對于那些封裝好的圖形庫和GDI+來說,這一點使我們可以進一步學習各種編解碼技術,而不再浮于各種技術的表面。
CImg
CImg 庫是一個免費、開源的圖像處理C++庫,名稱原意是 Cool Image,正如其名,CImg是一個非常優秀、功能強大、代碼簡潔、使用方便的C++ 圖像處理庫。它不僅非常適合科學家、研究生做科研時使用,也適合在工業應用工程開發中使用,更適合的是,對于有志于開發簡潔、高效、功能強大的圖像處理庫的人而言,CImg的源碼是不可多得的學習和參考資料。
點評:
就一個.h文件所以用起來很簡明,但感覺功能上不如CxImage??梢耘cCxImage配合使用,因為CImg提供了基于lapack的矩陣運算函數和完善的線性濾波卷積函數,同時CImg做像素運算還是很方便的。另外,獨有Display類可以方便的實現各種顯示,包括顯示圖像、打字、畫線等等。還有,該庫有個基于光流的多尺度圖像配準例子,很好。
FreeImage
FreeImage [1] 是一款免費的、開源的、跨平臺(Windows 、Linux 和Mac OS X )的,支持20 多種圖像類型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)圖像處理庫。其最大優點就是采用插件驅動型架構,具有快速、靈活、簡單易用的特點,得到了廣泛使用。
FreeImage 的主要功能有多格式位圖的讀寫;方便的位圖信息獲取;位深度轉換;位圖頁面訪問;基本的幾何變換和點處理;通道合并與混合等。FreeImage 暫時不支持矢量圖形和高級圖像處理,位圖繪制需要由用戶來完成。
FreeImage 中的所有函數都以FreeImage_ 開頭,如圖像文件的讀寫函數分別為FreeImage_Load 和FreeImage_Save 。FIBITMAP 數據結構保存著位圖信息和像素數據,是FreeImage 的核心。
點評:
C語言的體系,大量使用指針運算速度可以保證,內含先進的多種插值算法。另外獨有的支持meta exif信息的讀取。該庫最大的特點就是比較簡練,只把重點放在對各種格式圖像的讀取寫入支持上,沒有顯示部分,實際編程的時候還是需要調用API函數進行顯示。
總結
以上是生活随笔為你收集整理的几种常用的图像处理函数库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: caffe web demo 搭建
- 下一篇: 人脸识别技术大总结——Face Dete