当前位置: 首页>C++>正文

開源圖片庫,幾種常用圖像處理開源庫簡介及使用總結

開源圖片庫,幾種常用圖像處理開源庫簡介及使用總結

? ? ? 1.OpenCV,主要以算法形式,展示其實現;也就是說,它實際提供的是各種圖像處理算法。若需具體應用,需要組合其算法以實現某個功能。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

OpenCV 的全稱 Open Source Computer Vision Library,是一個基于BSD許可(開源)發行的跨平臺計算機視覺庫,又名 “開源計算機視覺庫”。OpenCV 是一個開源發行的跨平臺計算機視覺庫,可運行在 Windows、Android、Maemo、FreeBSD、OpenBSD、iOS、Linux 和 Mac OS 等平臺。使用者可在 SourceForge 獲得官方版本, 或從 SVN 獲得開發版本。OpenCV 也用 CMake。

在 Windows 上編譯 OpenCV 中與攝像輸入有關部分時,需要 DirectShow SDK 中的一些基類。該 SDK 可從預先編譯的 Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0) 的子目錄 Samples\Multimedia\DirectShow\BaseClasses 獲得。

OpenCV 輕量且高效 —— 由一系列 C 函數和少量 C++ 類構成,同時提供了 Python、Ruby、MATLAB 等語言接口,實現了圖像處理和計算機視覺方面的很多通用算法。

OpenCV 用 C++ 語言編寫,它的主要接口也是 C++ 語言,但依然保留了大量的 C 語言接口。OpenCV 庫也有 Python、Java、MATLAB/OCTAVE (版本 2.5) 接口。這些語言的 API 接口函數,可通過在線文檔獲得。如今,OpenCV 也提供對于 C#、Ch、Ruby 的支持。

OpenCV 所有新開發和算法都采用 C++ 接口。

OpenCV 擁有包括 500 多個 C 函數的跨平臺中、高層 API。OpenCV 不依賴于其它的外部庫 —— 盡管也可使用某些外部庫。

1999 年 Intel 開始建立 OpenCV,如今由 Willow Garage 提供支持。

OpenCV 為 Intel ? Integrated Performance Primitives (IPP) 提供了透明接口。這意味著,如果有為特定處理器優化的 IPP 庫, OpenCV 將在運行時自動加載這些庫。OpenCV 2.0 版代碼已顯著優化,無需 IPP 來提升性能,故 2.0 版不再提供 IPP 接口。

2010 年 9 月實現 CUDA 的 GPU 接口。

2015 年 6 月 4 日發布 OpenCV 3.0。

2016年12月,發布OpenCV 3.2版(合并969個修補程序,關閉478個問題)。

2017年8月3日,發布OpenCV 3.3版(最重要的更新是把DNN模塊從contrib里面提到主倉庫)。

2017年12月23日發布,最新版本是3.4 。

? ? ? ?2.imageMagic主要以應用形式,展示其實現,;譬如:圖像切割、圖像融合、圖像模糊、圖像銳化等。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

ImageMagick 是一個免費開源、用于編輯、創建、合成圖像的工具。ImageMagick 可讀取、轉換、寫入多種格式圖像。包括:圖像切割、顏色替換、各種效果的應用,圖像旋轉、組合、文本、直線、多邊形、橢圓、曲線、附加到圖像伸展旋轉、等等。

ImageMagick 遵守 GPL 許可協議,是一個免費工具:完全開放源碼,可自由使用、復制、修改、發布;它可運行于大多數操作系統。ImageMagick 幾乎可在任何非專有操作系統上編譯,無論是 32 位還是 64 位 CPU,包括:Linux、Windows 95/98/ME/NT 4.0/2000/XP、Windows 2003、Windows 7、Windows 8、Macintosh (MacOS 9 /10)、VMS 和 OS/2。ImageMagick 的大多數功能的用法都是使用命令行。

ImageMagick 是一套功能強大、穩定且開源的工具集、開發包。可用來讀、寫和處理超過 200 多種格式的圖片文件,包括流行的 TIF、JPG、JPEG、GIF、 PNG、PDF 以及 PhotoCD 等格式。

ImageMagick 可根據 Web 應用程序的需要動態生成圖片, 可對一個(或一組)圖片進行縮放、旋轉、銳化、減色或增加特效等操作,并將操作結果以相同格式或其它格式保存;對圖片的操作,即可通過命令行進行,也可通過 C/C++、Perl、Java、PHP、Python 或 Ruby 編程完成。同時 ImageMagick 還提供了一個高質量的 2D 工具包,部分支持 SVG。ImageMagick 的主要精力集中在性能,減少 Bug 以及提供穩定的 API 和 ABI 上。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

開源圖片庫?? ? ? ?3.GraphicsMagick號稱圖像處理領域的瑞士軍刀。其短小精悍的代碼卻提供了一個魯棒、高效的工具和庫集合,來處理圖像的讀取、寫入和操作。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

GraphicsMagick 號稱圖像處理領域的瑞士軍刀。GraphicsMagick 短小精悍的代碼,卻提供了一個魯棒、高效的工具和庫集合,來處理圖像的讀取、寫入和操作。

GraphicsMagick 支持大圖片的處理,且做過 GB 級的圖像處理實驗。GraphicsMagick 能動態生成圖片,特別適于互聯網應用。

GaphicsMagick 不僅支持命令行模式,同時也支持 C、C++、Perl、PHP、Tcl、 Ruby、Lua、Python、Windows .NET、Windows COM 編程接口等的調用。事實上,GraphicsMagick 是從 ImageMagick 5.5.2 分支出來的,現在它已變得更穩定和更優秀,相比之下。

GraphicsMagick 可用來處理調整圖片尺寸、旋轉、加亮、顏色調整、增加特效等。GraphicsMagick 支持超過 88 種圖像格式,包括重要的 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM 和 TIFF。通過使用 OpenMP 可利用多線程進行圖片處理,增強了通過擴展 CPU 提高處理能力。

GraphicsMagick 可在絕大多數平臺上使用,包括 Linux、Mac OS、Windows (2000、XP、Vista、7、8.X、10) 操作系統。

三種庫的優勢對比:

OpenCV 比較 ImageMagick:

(1).OpenCV 和 ImageMagick 代碼都開源,方便開發;

(2).ImageMagick 最近更新不多,OpenCV 近幾年有 Intel 的支持更新比較及時,功能越來越強大,bug 修復也比較及時;

(3).ImageMagick 使用簡便;OpenCV 的使用稍微復雜,對使用者有一定的圖像技術要求;

(4).ImageMagick 封裝較好,使用靈活度稍低;OpenCV 使用比較靈活;

(5).ImageMagick 功能實現較少,主要是一些常用的圖像處理,很多比較復雜的圖像處理并沒有實現。OpenCV 的算法實現非常強大,且從其最近版本更新的速度來看,它更加強大,很多經典的圖像處理算法都有實現。作為一個圖像開發者,這是一個很大的誘惑。

(6).ImageMagick 函數運行較慢, OpenCV 運行速度較快。常見函數 ,包括:圖像讀、圖像壓縮、圖像寫等 ,OpenCV 都要比 ImageMagick 快很多。

(7).OpenCV 不能解析 gif 文件格式,版權原因,試圖載入 gif 文件會出錯。若要用 OpenCV 功能,又需解析 gif 文件格式,可先用其他函數庫將其讀入再轉化為 IplImage。ImageMagick 支持處理 gif 文件格式。

(8).ImageMagick 有一個不錯的 sharpen 函數,用于銳化圖像,效果挺不錯。OpenCV 中沒有銳化函數,沒有相應的銳化算法實現。若確想使用這個函數,可在 OpenCV 下實現 ImageMagick 相應源代碼。

OpenCV 功能強大,代碼運行速度快,更新速度也快,但對開發者有一定的要求。ImageMagick 使用比較簡單,對圖像處理不太熟悉,又只想實現簡單圖像處理時,可選擇。

若選擇使用 ImageMagick,建議使用 GraphicsMagick。GraphicsMagick 和 ImageMagick 的函數調用方法相同,但 GraphicsMagick 在效率上優于 ImageMagick,特別是在 windows 下運行。

GraphicsMagick 比較 ImageMagick:

(1).GraphicsMagick 更有效率,能更快的完成處理工作;

(2).GraphicsMagick 更小更容易安裝;

(3).GraphicsMagick 已被 Flickr (雅虎旗下圖片分享網站) 和 Etsy (網絡商店平臺) 使用,每天處理百萬計的圖片;

(4).GraphicsMagick 和已安裝軟件不會發生沖突;

(5).GraphicsMagick 幾乎沒有安全問題;

(6).GraphicsMagick 的手冊非常豐富;





https://www.nshth.com/cplus/338373.html
>

相关文章:

  • 開源圖片庫
  • opencv圖像處理算法
  • python圖像處理庫
  • c圖像處理庫
  • MATLAB圖像處理常用算法
  • 圖像識別開源框架
  • java開源圖像處理
  • qt圖像處理開源軟件
  • 樹莓派的控制方法,第二篇 樹莓派基本外設基礎篇
  • 手機如何連接外設,iOS連接外設的幾種方式
  • switch可以外接鍵鼠嗎,別再給手機外接OTG鍵鼠玩刺激戰場了:其實還能這樣操作
  • [阿發你好]C/C++學習指南
  • 輸入法哪個最好用,wsl2中安裝中文輸入法
  • 字符串中引入變量方法,字符串處理、變量初始值處理、擴展的腳本技巧、正則表達式
  • 某計算機內存容量是512kb,某計算機主存容量為512kb,Cache容量為16kb,每塊有16個字,每字32位。 (1...
  • 中國工商網商標查詢,工商局爬蟲 商標網爬蟲
  • iOS真機調試TestFlight安裝及提交App Store審核教程
  • 蘋果app上架流程,小白如何在ios中安裝ios上架
  • 蘋果彈出提交表格是什么,蘋果TestFlight測試操作圖文教程(測試后提交App Store審核)
  • 四門外語傍身:外語,讓我的大學如此完美
  • D3D Surface/Texture SDL DDraw渲染視頻的區別和疑問
  • 手機VR播放器,Android VR Player(全景視頻播放器) [10]: VR全景視頻渲染播放的實現(exoplayer,glsurfaceview,o
  • Qt渲染視頻常見問題(視頻渲染窗口上子窗口設置透明出現陰影問題、主窗口縮放導致視頻渲染窗口部分出現視頻閃爍問題)
  • 視頻解析網站源碼,ijkplayer源碼分析 視頻渲染流程
  • 一分鐘的視頻渲染要多久,基礎教程|如何在數分鐘時間內渲染超清精美視頻?
  • Metal(六) 案例之視頻文件的渲染
  • flutter開發小程序,最強整理!寫給程序員的Flutter詳細教程,大廠直通車!
  • c++黑客編程揭秘與防范,C/C++截獲騰訊QQ網絡聊天系統內容和登錄密碼,教你做一個黑客!
  • 支付行業具體做什么,做支付需要了解哪些行業知識
  • 5大底層邏輯,淺談HyperLogLog底層算法邏輯
  • c++實現復數的加減乘除,【C++】輔助C++計算復數(代碼解釋的很清楚)
  • nlogn的算法有哪些,算法運行時間1、logN、N、NlogN 、N^2、N^3、2^n之間的比較
  • 開源圖片庫,幾種常用圖像處理開源庫簡介及使用總結
  • 圖像處理和計算機視覺,《圖像處理與計算機視覺算法及應用》讀后感
  • gps定位,側邊欄固定定位到版心兩側
  • css版心怎么設置,[css]版心和布局流程
  • 瀏覽器多個窗口怎么設置在一個頁面,網頁多種版心適應多屏幕技巧
  • 前端學習之版心和布局流程