㈠ python 圖像處理 Pillow 庫 基礎篇
Python圖像處理領域,Pillow庫是不可或缺的工具,尤其在Python3中,最新版本為5.2.0。Pillow繼承了Python2時期的Pil庫,但兩者之間主要的區別在於類的引用方式。務必注意,Pillow與Pil不兼容,若已安裝Pil,需先卸載。
利用pip安裝Pillow的過程相對簡單,關鍵是通過Image.open()創建圖像實例。這個過程可以處理多種情況,如從文件、文件對象、二進制流或tar文件讀取圖像。
圖像實例的創建和操作功能豐富,如格式轉換、縮略圖製作、剪貼和粘貼操作,甚至可以分離和合並圖像通道。此外,Pillow還支持幾何變換,包括調整大小和旋轉,以及顏色變換,包括模式轉換。
增強圖像效果方面,Pillow提供了濾鏡和像素點處理功能,可以對圖像進行局部處理。高級增強功能則通過ImageEnhance模塊實現,如對比度、亮度、飽和度和清晰度的調整。對於動態圖像,Pillow支持FLI/FLC、GIF等格式,可以處理序列幀,並支持Postscript列印和配置載入器以優化處理速度和輸出質量。
總的來說,Pillow庫為Python圖像處理提供了強大且靈活的工具箱,無論是基礎操作還是高級功能,都能滿足你的需求。
㈡ python圖像處理庫 哪個好 知乎
1.scikit-image
scikit-image是一個開源的Python包,適用於numpy數組。它實現了用於研究,教育和工業應用的演算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此代碼是由活躍的志願者社區編寫的,具有高質量和同行評審的性質。
2.Numpy
Numpy是Python編程的核心庫之一,並為數組提供支持。圖像本質上是包含數據點像素的標准Numpy數組。因此,我們可以通過使用基本的NumPy操作,例如切片、掩膜和花式索引,來修改圖像的像素值。可以使用skimage載入圖像並使用matplotlib顯示圖像。
3.Scipy
scipy是Python的另一個類似Numpy的核心科學模塊,可用於基本的圖像操作和處理任務。特別是子模塊scipy.ndimage,提供了在n維NumPy數組上操作的函數。該包目前包括線性和非線性濾波,二值形態學,B樣條插值和對象測量等功能函數。
4. PIL/Pillow
PIL是Python編程語言的一個免費庫,它支持打開、操作和保存許多不同的文件格式的圖像。然而,隨著2009年的最後一次發布,它的開發停滯不前。但幸運的是還有Pillow,一個PIL積極開發的且更容易安裝的分支,它能運行在所有主要的操作系統,並支持Python3。這個庫包含了基本的圖像處理功能,包括點運算、使用一組內置卷積核的濾波和色彩空間的轉換。
5.OpenCV-Python
OpenCV是計算機視覺應用中應用最廣泛的庫之一
。OpenCV-Python是OpenCV的python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署。這使得它成為執行計算密集型計算機視覺程序的一個很好的選擇。
6.SimpleCV
SimpleCV也是一個用於構建計算機視覺應用程序的開源框架。有了它,你就可以訪問幾個高性能的計算機視覺庫,如OpenCV,而且不需要先學習了解位深度、文件格式、顏色空間等。它的學習曲線大大小於OpenCV,正如它們的口號所說「計算機視覺變得簡單」。
7.Mahotas
Mahotas是另一個計算機視覺和圖像處理的Python庫。它包括了傳統的圖像處理功能例如濾波和形態學操作以及更現代的計算機視覺功能用於特徵計算,包括興趣點檢測和局部描述符。該介面是Python語言,適合於快速開發,但是演算法是用C語言實現的,並根據速度進行了調優。Mahotas庫速度快,代碼簡潔,甚至具有最小的依賴性。
8.SimpleITK
ITK或者Insight Segmentation and Registration
Toolkit是一個開源的跨平台系統,為開發人員提供了一套廣泛的圖像分析軟體工具
。其中,SimpleITK是建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育、解釋語言中的應用。SimpleITK是一個圖像分析工具包,包含大量支持一般過濾操作、圖像分割和匹配的組件。SimpleITK本身是用C++寫的,但是對於包括Python以內的大部分編程語言都是可用的。
9.pgmagick
pgmagick是GraphicsMagick庫的一個基於python的包裝。GraphicsMagick圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了一個具有強大且高效的工具和庫集合,支持以88種主要格式讀取、寫入和操作圖像。
10.Pycairo
Pycairo是圖像處理庫cairo的一組Python捆綁。Cairo是一個用於繪制矢量圖形的2D圖形庫。矢量圖形很有趣,因為它們在調整大小或轉換時不會失去清晰度。Pycairo是cairo的一組綁定,可用於從Python調用cairo命令。
㈢ Python常用庫(五):圖像處理【Pillow】
Pillow 是一個強大的 Python 圖像處理庫,廣泛用於多種圖片格式的處理,包含 BMP、GIF、JPEG、PNG、TIFF 等。該庫提供豐富的功能,如圖片讀取、顯示、旋轉、縮放、裁剪及轉換。在深度學習領域中,它不可或缺。主要功能包含:
1. **圖像基本操作**
- **讀取圖片**:使用 `Image.open()` 打開圖片,可以查看屬性。
- **另存圖片**:保存圖片,檢查大小信息。
- **調整圖片**:調整大小、旋轉(逆時針)、翻轉(上下、左右)。
- **編輯圖片**:用 `resize()` 方法調整尺寸,參數為重采樣濾波器,常用選項包括 'NEAREST', 'BILINEAR', 'BICUBIC', 'HAMMING', 'LANCZOS' 等。
- **裁剪圖片**:通過 `crop()` 函數,元組中的四個數字分別對應裁剪區域的左上角 x 坐標、左上角 y 坐標、右下角 x 坐標、右下角 y 坐標。
2. **圖像繪制**
- **繪制圖形**:通過 `ImageDraw` 包使用 `draw.line()`, `draw.rectangle()` 等方法。
- **填充文字**:使用 `draw.text()` 為圖片添加文本內容,參數詳細說明見注釋。
3. **圖像濾鏡**
- **增強**:調整亮度、對比度、飽和度等,使圖片更清晰。
- **模糊**:使用濾鏡使圖片產生模糊效果。
- **輪廓和浮雕**:增添紋理,模擬立體效果。
了解並熟練使用 Pillow,能極大地提升圖像處理的效率與質量。推薦關注作者微信公眾號「猿碼記」,獲取更多技術教程與深度學習資源。
㈣ 基於python的遙感圖像處理(2.1)--GDAL簡介
GDAL,全稱為Geospatial Data Abstraction Library,是一個開源的C/C++庫,廣泛應用於GIS和遙感軟體中,包括商業軟體如ArcGIS和ENVI,以及開源工具GRASS、QGIS等。它融合了OGR和GDAL項目,OGR專注於矢量數據的解析,GDAL則主要負責柵格數據的讀寫,同時依賴PROJ.4庫處理空間參考和投影轉換。
GDAL的核心功能包括支持柵格數據、矢量數據和空間網路數據的處理。它提供了Python、Java和C#等語言的介面,通過SWIG實現跨語言調用,開發者可以利用Python調用GDAL的API執行底層C/C++代碼。此外,GDAL還提供了一系列實用工具,便於進行大規模的空間數據處理,如結合Shell腳本進行批處理。
從GDAL 2.x版本起,柵格和矢量數據的API介面設計趨於統一,對開發者更加友好。在GDAL中,柵格數據由GDALDataset抽象類表示,包含了波段、空間參考和元數據等信息,如GeoTIFF、DEM或土地利用圖。例如,WGS1984坐標系下的UTM 50N投影的WKT定義為一個示例。
仿射變換在GDAL中用於連接柵格圖像的像素坐標與地理坐標,通過GeoTransform數組計算實際地理坐標。而GDAL的矢量數據模型基於OGC Simple Features規范,包括圖層、空間要素和幾何體等概念。簡單來說,一個GDAL數據集包含多個圖層,每個圖層又包含多個帶有幾何體和屬性的要素。
以上內容主要來源於TheOneGIS的博客。