這篇文章給大家介紹大數(shù)據(jù)中常用圖像處理庫(kù)都有哪些,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有義烏免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
當(dāng)需要做一些圖像處理方面的學(xué)習(xí)和研究的時(shí)候,首要任務(wù)就是選擇一套合適的圖像處理類庫(kù),這期我們主要簡(jiǎn)單介紹下各家圖像庫(kù)的一些優(yōu)缺點(diǎn)。OpenCV,Intel IPP,Halcon,MATLAB ,OpenGL,EmguCv,AForge.net,CxImage,F(xiàn)reeImage,paintlib,AGG,IPL,visDSK。
1. OpenCV
簡(jiǎn)介:OpenCV全稱是:Open Source Computer Vision Library。是Intel?開源計(jì)算機(jī)視覺庫(kù)。它由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV是一個(gè)基于(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和一些C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV用C++語(yǔ)言編寫,它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。
OpenCV功能
提供對(duì)圖像數(shù)據(jù)操作,圖像/視頻的輸入輸出,基本圖像處理,結(jié)構(gòu)分析,攝像頭定標(biāo),運(yùn)動(dòng)分析,目標(biāo)識(shí)別以及基本的GUI等的函數(shù)接口。
OpenCV模塊
cv – 核心函數(shù)庫(kù);cvaux – 輔助函數(shù)庫(kù);cxcore – 數(shù)據(jù)結(jié)構(gòu)與線性代數(shù)庫(kù);highgui – GUI函數(shù)庫(kù);ml – 機(jī)器學(xué)習(xí)函數(shù)庫(kù)
特點(diǎn):
免費(fèi),源代碼公開,是一個(gè)跨平臺(tái)的中、高層API 構(gòu)成,它不依賴與其它的外部庫(kù),盡管也可以使用某些外部庫(kù)。,為了完全獨(dú)立于IPL (INTEL的圖像處理庫(kù)) OpenCV 復(fù)制了IplImage 和其它一些結(jié)構(gòu)變量的聲明。
OpenCV 為Intel? Integrated PerformancePrimitives (IPP) 提供了透明的用戶使用接口。它對(duì)IPP不存在任何依賴。但如果安裝了IPP,那么OpenCV將會(huì)通過自動(dòng)載入IPP動(dòng)態(tài)鏈接庫(kù)來(lái)獲取IPP的優(yōu)勢(shì),來(lái)提升速度。
2. Intel IPP
簡(jiǎn)介:IPP“Intel Integrated Performance Primitives” ( Intel IPP )是一套跨平臺(tái)的軟件函數(shù)庫(kù),
他提供了廣泛的多媒體功能:音頻解碼器(例如:H263 、 MPEG-4 )、圖像處理 (JPEG) 、信號(hào)處理、語(yǔ)音壓縮(例如:G723 、 GSM 、 AMR )和加密機(jī)制。
Intel IPP 針對(duì)大量的 Intel Microprocessor (微處理器)進(jìn)行優(yōu)化:Intel Pentium 4 處理器,采用 Intel Centrino 移動(dòng)運(yùn)算技術(shù)的 Intel Pentium M 處理器組件, Intel Itanium 2 處理器、 Intel Xeon 處理器以及采用 Intel XScale 技術(shù)的 Intel PCA 應(yīng)用處理器。采用一套跨平臺(tái)結(jié)構(gòu)的通用 API ,使用者除了不需要擔(dān)心平臺(tái)兼容性的問題,更節(jié)省了開發(fā)成本以及研發(fā)時(shí)間,使用者可以輕輕松松移植原有應(yīng)用程序。
特點(diǎn):
IPP收費(fèi)源代碼不公開
函數(shù)庫(kù):信號(hào)處理,圖像處理,多媒體,向量處理等
跨平臺(tái)和OS的通用 API
高性能代碼,不需要寫匯編代碼,獲得優(yōu)化的應(yīng)用程序,速度快,效率高。
3. Halcon
簡(jiǎn)介:德國(guó)MVtec公司的圖像處理軟件HALCON,是世界公認(rèn)具有最佳效能的機(jī)器視覺軟件。它發(fā)源自學(xué)術(shù)界,有別于市面一些商用軟件包。事實(shí)上,這是一套圖像處理庫(kù),由一千多個(gè)各自獨(dú)立的函數(shù),以及底層的數(shù)據(jù)管理核心構(gòu)成。其中包含了各類濾波、色彩分析以及幾何、數(shù)學(xué)變換、形態(tài)學(xué)計(jì)算分析、校正、分類、辨識(shí)、形狀搜索等等基本的幾何以及圖像計(jì)算功能,由于這些功能大多并非針對(duì)特定工作設(shè)計(jì)的,因此只要用得到圖像處理的地方,就可以用HALCON強(qiáng)大的計(jì)算分析能力來(lái)完成工作。應(yīng)用范圍幾乎沒有限制,涵蓋醫(yī)學(xué)、遙感探測(cè)、監(jiān)拎、及工業(yè)上的各類自動(dòng)化檢測(cè)。近年來(lái),由于機(jī)器視覺技術(shù)的發(fā)展,這種可以”取代人眼”,對(duì)重復(fù)工作不會(huì)疲勞,精度高且穩(wěn)定的特質(zhì),促進(jìn)了高科技業(yè)的發(fā)展,例如電子業(yè)產(chǎn)量的大幅提升。而MVTec公司更是不斷的與學(xué)術(shù)界合作,并且將最新的學(xué)術(shù)研究成果納入其中,不但使自己的技術(shù)處于業(yè)界領(lǐng)導(dǎo)地位,同時(shí)也將機(jī)器視覺技術(shù)推向更高的境界。
機(jī)器視覺軟件HALCON在世界范圍內(nèi)被廣泛的使用,用戶可以利用其開放式結(jié)構(gòu)快速開發(fā)圖像處理和機(jī)器視覺應(yīng)用。
一個(gè)專業(yè)的圖像處理工具不只包含一個(gè)圖像處理函數(shù)庫(kù)。圖像處理任務(wù)的解決只是整個(gè)機(jī)器視覺解決方案的一部分,還包括處理控件和或者數(shù)據(jù)庫(kù)連接等軟件部分,圖像獲取及其照明等硬件部分。因此,圖像處理系統(tǒng)簡(jiǎn)單易用,并且能活嵌入到開發(fā)項(xiàng)目中是非常重要的。Halcon充分考慮到這些方面,它有如下的特點(diǎn):
1). HALCON包含了一套交互式的程序設(shè)計(jì)接口HDevelop,可在其中以HALCON程序代碼直接編寫、修改、執(zhí)行程序,并且可以查看計(jì)算過程中的所有變量,設(shè)計(jì)完成后,可以直接輸出C/ C++,或是COM(visual basic)程序代碼,嵌入到應(yīng)用程序程序中。
2). HALCON不限制取像設(shè)備,可以自行挑選合適的設(shè)備。原廠己提供了4 0余種相機(jī)的驅(qū)動(dòng),即使是尚未支持的相機(jī),除了可以透過指針(pointer)輕易的抓取影像,還可以利用HALOCN開放性的架構(gòu),自行編寫DLL文件和系統(tǒng)連接。
3). 使用HALCON有最好的投資效益。這套軟件支持的操作系統(tǒng)除了微軟的NT/XP/2000,還有Linux, Solaris7, 181X6. 5, "1'ru64 UN1X5. 1等等,當(dāng)需要開發(fā)出一套系統(tǒng),就可以輕易轉(zhuǎn)換作業(yè)平臺(tái),以符合需求。為了加快速度,還可以使用多處理器的計(jì)算機(jī),所編寫的程序不必更動(dòng)。
4). 使用HALOCN,在設(shè)計(jì)人機(jī)接口時(shí)沒有特別的限制,也不需要特別的可視化組件,可以完全使用開發(fā)環(huán)境下的程序語(yǔ)言,例如Mircosoft Visual Studio等等,架構(gòu)自己的接口,最終用戶看不到開發(fā)工具,而且在執(zhí)行軟件的機(jī)器上,只需要很少的資源。
4. MATLAB
簡(jiǎn)介:MATLAB 是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。
MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語(yǔ)言的程序等,主要應(yīng)用于工程計(jì)算、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等領(lǐng)域。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解算問題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。在新的版本中也加入了對(duì)C,F(xiàn)ORTRAN,C++,JAVA的支持。
特點(diǎn):
1). 高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能,能使用戶從繁雜的數(shù)學(xué)運(yùn)算分析中解脫出來(lái);
2). 具有完備的圖形處理功能,實(shí)現(xiàn)計(jì)算結(jié)果和編程的可視化;
3). 友好的用戶界面及接近數(shù)學(xué)表達(dá)式的自然化語(yǔ)言,使學(xué)者易于學(xué)習(xí)和掌握;
4). 功能豐富的應(yīng)用工具箱(如信號(hào)處理工具箱、通信工具箱等) ,為用戶提供了大量方便實(shí)用的處理工具。
功能十分強(qiáng)大,正版軟件價(jià)錢昂貴,適用于學(xué)術(shù)研究,仿真和演示。在軟件開發(fā),工程應(yīng)用方面有一定的局限性。
5. OpenGL
OpenGL(全寫Open Graphics Library)是指定義了一個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口規(guī)格的專業(yè)的圖形程序接口。它用于三維圖像(二維的亦可),是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫(kù)。
OpenGL 是行業(yè)領(lǐng)域中最為廣泛接納的 2D/3D 圖形 API,其自誕生至今已催生了各種計(jì)算機(jī)平臺(tái)及設(shè)備上的數(shù)千優(yōu)秀應(yīng)用程序。OpenGL? 是獨(dú)立于視窗操作系統(tǒng)或其它操作系統(tǒng)的,亦是網(wǎng)絡(luò)透明的。在包含CAD、內(nèi)容創(chuàng)作、能源、娛樂、游戲開發(fā)、制造業(yè)、制藥業(yè)及虛擬現(xiàn)實(shí)等行業(yè)領(lǐng)域中,OpenGL? 幫助程序員實(shí)現(xiàn)在 PC、工作站、超級(jí)計(jì)算機(jī)等硬件設(shè)備上的高性能、極具沖擊力的高視覺表現(xiàn)力圖形處理軟件的開發(fā)。
特點(diǎn):
1). 與C語(yǔ)言緊密結(jié)合。
OpenGL命令最初就是用C語(yǔ)言函數(shù)來(lái)進(jìn)行描述的,對(duì)于學(xué)習(xí)過C語(yǔ)言的人來(lái)講,OpenGL是容易理解和學(xué)習(xí)的。如果你曾經(jīng)接觸過TC的graphics.h,你會(huì)發(fā)現(xiàn),使用OpenGL作圖甚至比TC更加簡(jiǎn)單。
2). 強(qiáng)大的可移植性。
微軟的Direct3D雖然也是十分優(yōu)秀的圖形API,但它只用于Windows系統(tǒng)(現(xiàn)在還要加上一個(gè)XBOX游戲機(jī))。而OpenGL不僅用于 Windows,還可以用于Unix/Linux等其它系統(tǒng),它甚至在大型計(jì)算機(jī)、各種專業(yè)計(jì)算機(jī)(如:醫(yī)療用顯示設(shè)備)上都有應(yīng)用。并且,OpenGL 的基本命令都做到了硬件無(wú)關(guān),甚至是平臺(tái)無(wú)關(guān)。
3). 高性能的圖形渲染。
OpenGL是一個(gè)工業(yè)標(biāo)準(zhǔn),它的技術(shù)緊跟時(shí)代,現(xiàn)今各個(gè)顯卡廠家無(wú)一不對(duì)OpenGL提供強(qiáng)力支持,激烈的競(jìng)爭(zhēng)中使得OpenGL性能一直領(lǐng)先。
總之,OpenGL是一個(gè)很NB的圖形軟件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等專業(yè)游戲就知道了。
6. EmguCv
EmguCV 是.NET 平臺(tái)下對(duì)OpenCV 圖像處理庫(kù)的封裝。也就是OpenCV的.NET 版。它運(yùn)行在.NET 兼容的編程語(yǔ)言下調(diào)用OpenCV 的函數(shù),如C#、VB、VC++、IronPython 等。這個(gè)封裝庫(kù)可以在Mono 下編譯和在Linux / Mac OSX 上運(yùn)行。EmguCV 全部用 C#編寫 ,它可以在Mono環(huán)境里編 譯,在 任何 Mono支持的平臺(tái) (如 Linux, Solaris,MacOSX ) 上 運(yùn) 行 。EmguCV 的其他優(yōu)勢(shì)還有,支持通用顏色和深度的圖像類,自動(dòng)垃圾收集,可XML序列化的圖像,XML 文檔和 Intel license 支持, 自由選擇圖像類或 OpenCV 的 direct invoke 函數(shù) ,圖像象 素上的通用操作等。也就是說(shuō) ,EmguCV 不僅繼承了 OpenCV 的所有功能和特點(diǎn) ,而且在跨平臺(tái)支持方面也有更大的突破 。
將OpenCv的絕大部分功能都包裝成了.net類、結(jié)構(gòu)或者枚舉。不過文檔不全,還是得對(duì)照OpenCv的文檔去看才行。
7. AForge.net
AForge.NET 是一個(gè)專門為開發(fā)者和研究者基于C#框架設(shè)計(jì)的,他包括計(jì)算機(jī)視覺與人工智能,圖像處理,神經(jīng)網(wǎng)絡(luò),遺傳算法,機(jī)器學(xué)習(xí),機(jī)器人等領(lǐng)域。
這個(gè)框架由一系列的類庫(kù)和例子組成。其中包括的特征有:
AForge.Imaging -一些日常的圖像處理和過濾器
AForge.Vision -計(jì)算機(jī)視覺應(yīng)用類庫(kù)
AForge.Neuro -神經(jīng)網(wǎng)絡(luò)計(jì)算庫(kù)
AForge.Genetic -進(jìn)化算法編程庫(kù)
AForge.MachineLearning -機(jī)器學(xué)習(xí)類庫(kù)
AForge.Robotics -提供一些機(jī)器學(xué)習(xí)的工具類庫(kù)
AForge.Video -一系列的視頻處理類庫(kù)(很方便)
純.net類庫(kù),接口簡(jiǎn)單,用起來(lái)很方便。
8. CxImage
CxImage類庫(kù)是一個(gè)優(yōu)秀的圖像操作類庫(kù)。它可以快捷地存取、顯示、轉(zhuǎn)換各種圖像。有的讀者可能說(shuō),有那么多優(yōu)秀的圖形庫(kù),如OpenIL,FreeImage,PaintLib等等,它們可謂是功能強(qiáng)大,齊全,沒必要用其它的類庫(kù)。但我要說(shuō),這些類庫(kù)基本上沒有免費(fèi)的,使用這些類庫(kù),你要被這樣那樣的許可協(xié)議所束縛。在這點(diǎn)上,CxImage類庫(kù)是完全免費(fèi)的。另外,在使用上述類庫(kù)時(shí),你會(huì)遇到重重麻煩。因?yàn)樗鼈兇蟛糠质瞧脚_(tái)無(wú)關(guān)的,且用C語(yǔ)言寫成,有的還夾雜著基本的C++ wrapper和成堆的編譯選項(xiàng)的聲明需要你去處理。而CxImage類庫(kù)在這方面做得很好。作者完全公開了源代碼。相對(duì)于那些封裝好的圖形庫(kù)和GDI+來(lái)說(shuō),這一點(diǎn)使我們可以進(jìn)一步學(xué)習(xí)各種編解碼技術(shù),而不再浮于各種技術(shù)的表面。
9. FreeImage
FreeImage 是一款免費(fèi)的、開源的、跨平臺(tái)(Windows 、Linux 和Mac OS X )的,支持20 多種圖像類型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)圖像處理庫(kù)。其最大優(yōu)點(diǎn)就是采用插件驅(qū)動(dòng)型架構(gòu),具有快速、靈活、簡(jiǎn)單易用的特點(diǎn),得到了廣泛使用。
FreeImage 的主要功能有多格式位圖的讀寫;方便的位圖信息獲取;位深度轉(zhuǎn)換;位圖頁(yè)面訪問;基本的幾何變換和點(diǎn)處理;通道合并與混合等。FreeImage 暫時(shí)不支持矢量圖形和高級(jí)圖像處理,位圖繪制需要由用戶來(lái)完成。
FreeImage 中的所有函數(shù)都以FreeImage_ 開頭,如圖像文件的讀寫函數(shù)分別為FreeImage_Load 和FreeImage_Save 。FIBITMAP 數(shù)據(jù)結(jié)構(gòu)保存著位圖信息和像素?cái)?shù)據(jù),是FreeImage 的核心。
10. paintlib
paintlib是一個(gè)可移植的用于圖像加載、保存和處理的C++類庫(kù)??蓮腂MP, GIF, JPEG, PCX, PGM, PICT, PNG, PSD, TGA, TIFF和WMF文件中加載圖像,且可保存為BMP, JPEG, PNG和TIFF格式。既可通過在過濾器類中執(zhí)行過濾, 也可通過直接訪問位圖來(lái)進(jìn)行圖像處理。提供了完整的C++源碼。
11. AGG
AGG,全名:Anti-Grain Geometry,是一個(gè)開源的、高效的2D圖形庫(kù)
AGG是一個(gè)高效的、高質(zhì)量的、開源的矢量圖形庫(kù),類似的有:GTK+的Cairo,Microsoft的GDI+。在三者中,AGG的性能是最高的(不討論Skia和Direct2D,他們有OGL和DX的硬件加速,繪圖速度根本不是一個(gè)檔次的)。
特點(diǎn):
AGG的功能與GDI+的功能非常類似,但提供了比GDI+更靈活的編程接口,其產(chǎn)生的圖形的質(zhì)量也非常高,而且它是跨平臺(tái)的,其宣傳可以在非常多的操作系統(tǒng)上運(yùn)行.
AGG的功能
1). 支持ALPHA、GAMMA等變色處理,以及用戶自定義的變色處理;
2). 支持任意2D圖形變換;
3). 支持SVG和PostScript描述,適于網(wǎng)上圖形生成;
4). 支持高質(zhì)量的圖形處理,支持反走樣插值等高級(jí)功能;
5). 支持任意方式的慚變色處理;
6). 支持所有顏色格式;
7). 支持對(duì)位圖的多種處理;
8). 支持直線的多種處理,類似于GDI+;
9). 支持GPC,即通用多邊形裁剪方法;
10). 支持多種字體輸出,包括漢字的處理;
效率高,質(zhì)量高(有反鋸齒),功能強(qiáng)大,跨平臺(tái)和平臺(tái)GUI支持,缺點(diǎn):沒有硬件加速,文檔少,門檻略高。
12. IPL
Intel 的IPL image library雖然沒有開源但是進(jìn)行普通的圖像處理非常好用,像拉布拉斯算子,索貝爾算子等等邊緣提取和銳化的函數(shù)。如果目標(biāo)平臺(tái)是PC機(jī)或者工控機(jī)又是Intel的CPU,這是一個(gè)非常不錯(cuò)的選擇。
現(xiàn)在已經(jīng)沒有IPL了,IPL已經(jīng)是IPP的一部分了,不過還是可以下載早期版本。IPP的教育版50$,不是很貴,集成大部分算法1D signal processing, 語(yǔ)音信號(hào)處理;2D signal prodessing, image processing, video processing. Open CV的模式將很類似于IPL.
特點(diǎn):
IPL 圖象處理庫(kù),免費(fèi),起初開源,后來(lái)不開源。
13. visDSK
MICROSOFT圖像處理庫(kù),免費(fèi)、開源。OpenCV未出現(xiàn)時(shí)很受追捧,但是現(xiàn)在visDSK能做的OpenCV都可以做,在速度上,OpenCV還有Intel公司的優(yōu)化支持。visDSK的時(shí)代已然成為過去。
關(guān)于大數(shù)據(jù)中常用圖像處理庫(kù)都有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
名稱欄目:大數(shù)據(jù)中常用圖像處理庫(kù)都有哪些
本文網(wǎng)址:http://www.rwnh.cn/article2/ipcgic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、營(yíng)銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)