溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)中常用圖像處理庫都有哪些

發(fā)布時間:2022-01-04 17:29:43 來源:億速云 閱讀:158 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹大數(shù)據(jù)中常用圖像處理庫都有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

當需要做一些圖像處理方面的學(xué)習(xí)和研究的時候,首要任務(wù)就是選擇一套合適的圖像處理類庫,這期我們主要簡單介紹下各家圖像庫的一些優(yōu)缺點。OpenCV,Intel IPP,Halcon,MATLAB ,OpenGL,EmguCv,AForge.net,CxImage,F(xiàn)reeImage,paintlib,AGG,IPL,visDSK。


1. OpenCV

簡介:OpenCV全稱是:Open Source Computer Vision Library。是Intel?開源計算機視覺庫。它由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。OpenCV是一個基于(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和一些C++ 類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。

OpenCV功能

提供對圖像數(shù)據(jù)操作,圖像/視頻的輸入輸出,基本圖像處理,結(jié)構(gòu)分析,攝像頭定標,運動分析,目標識別以及基本的GUI等的函數(shù)接口。

OpenCV模塊

cv – 核心函數(shù)庫;cvaux – 輔助函數(shù)庫;cxcore – 數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)庫;highgui – GUI函數(shù)庫;ml – 機器學(xué)習(xí)函數(shù)庫

特點:

免費,源代碼公開,是一個跨平臺的中、高層API 構(gòu)成,它不依賴與其它的外部庫,盡管也可以使用某些外部庫。,為了完全獨立于IPL (INTEL的圖像處理庫) OpenCV 復(fù)制了IplImage 和其它一些結(jié)構(gòu)變量的聲明。

OpenCV 為Intel? Integrated PerformancePrimitives (IPP) 提供了透明的用戶使用接口。它對IPP不存在任何依賴。但如果安裝了IPP,那么OpenCV將會通過自動載入IPP動態(tài)鏈接庫來獲取IPP的優(yōu)勢,來提升速度。


2. Intel IPP

簡介:IPP“Intel Integrated Performance Primitives” ( Intel IPP )是一套跨平臺的軟件函數(shù)庫,

他提供了廣泛的多媒體功能:音頻解碼器(例如:H263 、 MPEG-4 )、圖像處理 (JPEG) 、信號處理、語音壓縮(例如:G723 、 GSM 、 AMR )和加密機制。

Intel IPP 針對大量的 Intel Microprocessor (微處理器)進行優(yōu)化:Intel Pentium 4 處理器,采用 Intel Centrino 移動運算技術(shù)的 Intel Pentium M 處理器組件, Intel Itanium 2 處理器、 Intel Xeon 處理器以及采用 Intel XScale 技術(shù)的 Intel PCA 應(yīng)用處理器。采用一套跨平臺結(jié)構(gòu)的通用 API ,使用者除了不需要擔心平臺兼容性的問題,更節(jié)省了開發(fā)成本以及研發(fā)時間,使用者可以輕輕松松移植原有應(yīng)用程序。

特點:

IPP收費源代碼不公開

函數(shù)庫:信號處理,圖像處理,多媒體,向量處理等

跨平臺和OS的通用 API

高性能代碼,不需要寫匯編代碼,獲得優(yōu)化的應(yīng)用程序,速度快,效率高。


3. Halcon

簡介:德國MVtec公司的圖像處理軟件HALCON,是世界公認具有最佳效能的機器視覺軟件。它發(fā)源自學(xué)術(shù)界,有別于市面一些商用軟件包。事實上,這是一套圖像處理庫,由一千多個各自獨立的函數(shù),以及底層的數(shù)據(jù)管理核心構(gòu)成。其中包含了各類濾波、色彩分析以及幾何、數(shù)學(xué)變換、形態(tài)學(xué)計算分析、校正、分類、辨識、形狀搜索等等基本的幾何以及圖像計算功能,由于這些功能大多并非針對特定工作設(shè)計的,因此只要用得到圖像處理的地方,就可以用HALCON強大的計算分析能力來完成工作。應(yīng)用范圍幾乎沒有限制,涵蓋醫(yī)學(xué)、遙感探測、監(jiān)拎、及工業(yè)上的各類自動化檢測。近年來,由于機器視覺技術(shù)的發(fā)展,這種可以”取代人眼”,對重復(fù)工作不會疲勞,精度高且穩(wěn)定的特質(zhì),促進了高科技業(yè)的發(fā)展,例如電子業(yè)產(chǎn)量的大幅提升。而MVTec公司更是不斷的與學(xué)術(shù)界合作,并且將最新的學(xué)術(shù)研究成果納入其中,不但使自己的技術(shù)處于業(yè)界領(lǐng)導(dǎo)地位,同時也將機器視覺技術(shù)推向更高的境界。

機器視覺軟件HALCON在世界范圍內(nèi)被廣泛的使用,用戶可以利用其開放式結(jié)構(gòu)快速開發(fā)圖像處理和機器視覺應(yīng)用。

一個專業(yè)的圖像處理工具不只包含一個圖像處理函數(shù)庫。圖像處理任務(wù)的解決只是整個機器視覺解決方案的一部分,還包括處理控件和或者數(shù)據(jù)庫連接等軟件部分,圖像獲取及其照明等硬件部分。因此,圖像處理系統(tǒng)簡單易用,并且能活嵌入到開發(fā)項目中是非常重要的。Halcon充分考慮到這些方面,它有如下的特點:

1). HALCON包含了一套交互式的程序設(shè)計接口HDevelop,可在其中以HALCON程序代碼直接編寫、修改、執(zhí)行程序,并且可以查看計算過程中的所有變量,設(shè)計完成后,可以直接輸出C/ C++,或是COM(visual basic)程序代碼,嵌入到應(yīng)用程序程序中。

2). HALCON不限制取像設(shè)備,可以自行挑選合適的設(shè)備。原廠己提供了4 0余種相機的驅(qū)動,即使是尚未支持的相機,除了可以透過指針(pointer)輕易的抓取影像,還可以利用HALOCN開放性的架構(gòu),自行編寫DLL文件和系統(tǒng)連接。

3). 使用HALCON有最好的投資效益。這套軟件支持的操作系統(tǒng)除了微軟的NT/XP/2000,還有Linux, Solaris7,  181X6. 5, "1'ru64 UN1X5. 1等等,當需要開發(fā)出一套系統(tǒng),就可以輕易轉(zhuǎn)換作業(yè)平臺,以符合需求。為了加快速度,還可以使用多處理器的計算機,所編寫的程序不必更動。

4). 使用HALOCN,在設(shè)計人機接口時沒有特別的限制,也不需要特別的可視化組件,可以完全使用開發(fā)環(huán)境下的程序語言,例如Mircosoft Visual Studio等等,架構(gòu)自己的接口,最終用戶看不到開發(fā)工具,而且在執(zhí)行軟件的機器上,只需要很少的資源。


4. MATLAB 

簡介:MATLAB 是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。

MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。

MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++,JAVA的支持。

特點:

1). 高效的數(shù)值計算及符號計算功能,能使用戶從繁雜的數(shù)學(xué)運算分析中解脫出來;

2). 具有完備的圖形處理功能,實現(xiàn)計算結(jié)果和編程的可視化;

3). 友好的用戶界面及接近數(shù)學(xué)表達式的自然化語言,使學(xué)者易于學(xué)習(xí)和掌握;

4). 功能豐富的應(yīng)用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。

功能十分強大,正版軟件價錢昂貴,適用于學(xué)術(shù)研究,仿真和演示。在軟件開發(fā),工程應(yīng)用方面有一定的局限性。


5. OpenGL

OpenGL(全寫Open Graphics Library)是指定義了一個跨編程語言、跨平臺的編程接口規(guī)格的專業(yè)的圖形程序接口。它用于三維圖像(二維的亦可),是一個功能強大,調(diào)用方便的底層圖形庫。

OpenGL 是行業(yè)領(lǐng)域中最為廣泛接納的 2D/3D 圖形 API,其自誕生至今已催生了各種計算機平臺及設(shè)備上的數(shù)千優(yōu)秀應(yīng)用程序。OpenGL? 是獨立于視窗操作系統(tǒng)或其它操作系統(tǒng)的,亦是網(wǎng)絡(luò)透明的。在包含CAD、內(nèi)容創(chuàng)作、能源、娛樂、游戲開發(fā)、制造業(yè)、制藥業(yè)及虛擬現(xiàn)實等行業(yè)領(lǐng)域中,OpenGL? 幫助程序員實現(xiàn)在 PC、工作站、超級計算機等硬件設(shè)備上的高性能、極具沖擊力的高視覺表現(xiàn)力圖形處理軟件的開發(fā)。

特點:

1). 與C語言緊密結(jié)合。

OpenGL命令最初就是用C語言函數(shù)來進行描述的,對于學(xué)習(xí)過C語言的人來講,OpenGL是容易理解和學(xué)習(xí)的。如果你曾經(jīng)接觸過TC的graphics.h,你會發(fā)現(xiàn),使用OpenGL作圖甚至比TC更加簡單。

2). 強大的可移植性。

微軟的Direct3D雖然也是十分優(yōu)秀的圖形API,但它只用于Windows系統(tǒng)(現(xiàn)在還要加上一個XBOX游戲機)。而OpenGL不僅用于 Windows,還可以用于Unix/Linux等其它系統(tǒng),它甚至在大型計算機、各種專業(yè)計算機(如:醫(yī)療用顯示設(shè)備)上都有應(yīng)用。并且,OpenGL 的基本命令都做到了硬件無關(guān),甚至是平臺無關(guān)。

3). 高性能的圖形渲染。

OpenGL是一個工業(yè)標準,它的技術(shù)緊跟時代,現(xiàn)今各個顯卡廠家無一不對OpenGL提供強力支持,激烈的競爭中使得OpenGL性能一直領(lǐng)先。

總之,OpenGL是一個很NB的圖形軟件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等專業(yè)游戲就知道了。


6. EmguCv

EmguCV 是.NET 平臺下對OpenCV 圖像處理庫的封裝。也就是OpenCV的.NET 版。它運行在.NET 兼容的編程語言下調(diào)用OpenCV 的函數(shù),如C#、VB、VC++、IronPython 等。這個封裝庫可以在Mono 下編譯和在Linux / Mac OSX 上運行。EmguCV 全部用 C#編寫 ,它可以在Mono環(huán)境里編 譯,在 任何 Mono支持的平臺 (如 Linux, Solaris,MacOSX ) 上 運 行 。EmguCV 的其他優(yōu)勢還有,支持通用顏色和深度的圖像類,自動垃圾收集,可XML序列化的圖像,XML 文檔和 Intel license 支持, 自由選擇圖像類或 OpenCV 的 direct invoke 函數(shù) ,圖像象 素上的通用操作等。也就是說 ,EmguCV 不僅繼承了 OpenCV 的所有功能和特點 ,而且在跨平臺支持方面也有更大的突破 。

將OpenCv的絕大部分功能都包裝成了.net類、結(jié)構(gòu)或者枚舉。不過文檔不全,還是得對照OpenCv的文檔去看才行。


7. AForge.net

AForge.NET 是一個專門為開發(fā)者和研究者基于C#框架設(shè)計的,他包括計算機視覺與人工智能,圖像處理,神經(jīng)網(wǎng)絡(luò),遺傳算法,機器學(xué)習(xí),機器人等領(lǐng)域。

這個框架由一系列的類庫和例子組成。其中包括的特征有:

AForge.Imaging -一些日常的圖像處理和過濾器

AForge.Vision -計算機視覺應(yīng)用類庫

AForge.Neuro -神經(jīng)網(wǎng)絡(luò)計算庫

AForge.Genetic -進化算法編程庫

AForge.MachineLearning -機器學(xué)習(xí)類庫

AForge.Robotics -提供一些機器學(xué)習(xí)的工具類庫

AForge.Video -一系列的視頻處理類庫(很方便)

純.net類庫,接口簡單,用起來很方便。


8. CxImage

CxImage類庫是一個優(yōu)秀的圖像操作類庫。它可以快捷地存取、顯示、轉(zhuǎn)換各種圖像。有的讀者可能說,有那么多優(yōu)秀的圖形庫,如OpenIL,FreeImage,PaintLib等等,它們可謂是功能強大,齊全,沒必要用其它的類庫。但我要說,這些類庫基本上沒有免費的,使用這些類庫,你要被這樣那樣的許可協(xié)議所束縛。在這點上,CxImage類庫是完全免費的。另外,在使用上述類庫時,你會遇到重重麻煩。因為它們大部分是平臺無關(guān)的,且用C語言寫成,有的還夾雜著基本的C++ wrapper和成堆的編譯選項的聲明需要你去處理。而CxImage類庫在這方面做得很好。作者完全公開了源代碼。相對于那些封裝好的圖形庫和GDI+來說,這一點使我們可以進一步學(xué)習(xí)各種編解碼技術(shù),而不再浮于各種技術(shù)的表面。


9. FreeImage

FreeImage 是一款免費的、開源的、跨平臺(Windows 、Linux 和Mac OS X )的,支持20 多種圖像類型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)圖像處理庫。其最大優(yōu)點就是采用插件驅(qū)動型架構(gòu),具有快速、靈活、簡單易用的特點,得到了廣泛使用。

FreeImage 的主要功能有多格式位圖的讀寫;方便的位圖信息獲取;位深度轉(zhuǎn)換;位圖頁面訪問;基本的幾何變換和點處理;通道合并與混合等。FreeImage 暫時不支持矢量圖形和高級圖像處理,位圖繪制需要由用戶來完成。

FreeImage 中的所有函數(shù)都以FreeImage_ 開頭,如圖像文件的讀寫函數(shù)分別為FreeImage_Load 和FreeImage_Save 。FIBITMAP 數(shù)據(jù)結(jié)構(gòu)保存著位圖信息和像素數(shù)據(jù),是FreeImage 的核心。


10. paintlib

paintlib是一個可移植的用于圖像加載、保存和處理的C++類庫??蓮腂MP, GIF, JPEG, PCX, PGM, PICT, PNG, PSD, TGA, TIFF和WMF文件中加載圖像,且可保存為BMP, JPEG, PNG和TIFF格式。既可通過在過濾器類中執(zhí)行過濾, 也可通過直接訪問位圖來進行圖像處理。提供了完整的C++源碼。


11. AGG

AGG,全名:Anti-Grain Geometry,是一個開源的、高效的2D圖形庫

AGG是一個高效的、高質(zhì)量的、開源的矢量圖形庫,類似的有:GTK+的Cairo,Microsoft的GDI+。在三者中,AGG的性能是最高的(不討論Skia和Direct2D,他們有OGL和DX的硬件加速,繪圖速度根本不是一個檔次的)。

特點:

AGG的功能與GDI+的功能非常類似,但提供了比GDI+更靈活的編程接口,其產(chǎn)生的圖形的質(zhì)量也非常高,而且它是跨平臺的,其宣傳可以在非常多的操作系統(tǒng)上運行.

AGG的功能

1). 支持ALPHA、GAMMA等變色處理,以及用戶自定義的變色處理;

2). 支持任意2D圖形變換;

3). 支持SVG和PostScript描述,適于網(wǎng)上圖形生成;

4). 支持高質(zhì)量的圖形處理,支持反走樣插值等高級功能;

5). 支持任意方式的慚變色處理;

6). 支持所有顏色格式;

7). 支持對位圖的多種處理;

8). 支持直線的多種處理,類似于GDI+;

9). 支持GPC,即通用多邊形裁剪方法;

10). 支持多種字體輸出,包括漢字的處理;

效率高,質(zhì)量高(有反鋸齒),功能強大,跨平臺和平臺GUI支持,缺點:沒有硬件加速,文檔少,門檻略高。


12. IPL

Intel 的IPL image library雖然沒有開源但是進行普通的圖像處理非常好用,像拉布拉斯算子,索貝爾算子等等邊緣提取和銳化的函數(shù)。如果目標平臺是PC機或者工控機又是Intel的CPU,這是一個非常不錯的選擇。

現(xiàn)在已經(jīng)沒有IPL了,IPL已經(jīng)是IPP的一部分了,不過還是可以下載早期版本。IPP的教育版50$,不是很貴,集成大部分算法1D signal processing, 語音信號處理;2D signal prodessing, image processing, video processing. Open CV的模式將很類似于IPL.

特點:

IPL 圖象處理庫,免費,起初開源,后來不開源。


13. visDSK

MICROSOFT圖像處理庫,免費、開源。OpenCV未出現(xiàn)時很受追捧,但是現(xiàn)在visDSK能做的OpenCV都可以做,在速度上,OpenCV還有Intel公司的優(yōu)化支持。visDSK的時代已然成為過去。

關(guān)于大數(shù)據(jù)中常用圖像處理庫都有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI