中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Python中常用的十個圖像處理工具

發布時間:2020-09-10 15:23:15 來源:億速云 閱讀:149 作者:Leah 欄目:編程語言

Python中常用的十個圖像處理工具?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

當今世界充滿了各種數據,而圖像是其中高的重要組成部分。然而,若想其有所應用,我們需要對這些圖像進行處理。圖像處理是分析和操縱數字圖像的過程,旨在提高其質量或從中提取一些信息,然后將其用于某些方面。

圖像處理中的常見任務包括顯示圖像,基本操作(如裁剪、翻轉、旋轉等),圖像分割,分類和特征提取,圖像恢復和圖像識別等。Python之成為圖像處理任務的最佳選擇,是因為這一科學編程語言日益普及,并且其自身免費提供許多最先進的圖像處理工具。

讓我們看一下用于圖像處理任務的一些常用Python庫。

一、scikit Image

scikit-image是一個基于numpy數組的開源Python包。 它實現了用于研究、教育和工業應用的算法和實用程序。 即使是對于那些剛接觸Python的人,它也是一個相當簡單的庫。 此庫代碼質量非常高并已經過同行評審,是由一個活躍的志愿者社區編寫的。

1.1 使用說明文檔:

https://scikit-image.org/docs/stable/user_guide.html

1.2 用法舉例:圖像過濾、模版匹配

可使用“skimage”來導入該庫。大多數功能都能在子模塊中找到。

import matplotlib.pyplot as plt
%matplotlib inline
from skimage import data,filters
image = data.coins()
# ... or any other NumPy array!
edges = filters.sobel(image)
plt.imshow(edges, cmap='gray')

Python中常用的十個圖像處理工具

1.3 用法舉例:模版匹配(使用match_template函數)

Python中常用的十個圖像處理工具

gallery上還有更多例子。

https://scikit-image.org/docs/dev/auto_examples/

二、Numpy

Numpy是Python編程的核心庫之一,支持數組結構。 圖像本質上是包含數據點像素的標準Numpy數組。 因此,通過使用基本的NumPy操作——例如切片、脫敏和花式索引,可以修改圖像的像素值。 可以使用skimage加載圖像并使用matplotlib顯示。

2.1 使用說明文檔:

http://www.numpy.org/

2.2 用法舉例:使用Numpy來對圖像進行脫敏處理

import numpy as np
from skimage import data
import matplotlib.pyplot as plt
%matplotlib inline
image = data.camera()
type(image)
numpy.ndarray #Image is a numpy array
mask = image < 87
image[mask]=255
plt.imshow(image, cmap='gray')

Python中常用的十個圖像處理工具

三、Scipy

Scipy是Python的另一個核心科學模塊,就像Numpy一樣,可用于基本的圖像處理和處理任務。值得一提的是,子模塊scipy.ndimage提供了在n維NumPy數組上運行的函數。 該軟件包目前包括線性和非線性濾波、二進制形態、B樣條插值和對象測量等功能。

3.1 使用說明文檔:

https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

3.2 用法舉例:使用SciPy的高斯濾波器對圖像進行模糊處理

from scipy import misc,ndimage
face = misc.face()
blurred_face = ndimage.gaussian_filter(face, sigma=3)
very_blurred = ndimage.gaussian_filter(face, sigma=5)
#Results
plt.imshow(<image to be displayed>)

Python中常用的十個圖像處理工具

四、PIL/ Pillow

PIL(Python Imaging Library)是一個免費的Python編程語言庫,它增加了對打開、處理和保存許多不同圖像文件格式的支持。 然而,它的發展停滯不前,其最后一次更新還是在2009年。幸運的是, PIL有一個正處于積極開發階段的分支Pillow,它非常易于安裝。

Pillow能在所有主要操作系統上運行并支持Python 3。該庫包含基本的圖像處理功能,包括點操作、使用一組內置卷積內核進行過濾以及顏色空間轉換。

4.1 使用說明文檔:

https://pillow.readthedocs.io/en/3.1.x/index.html

4.2 用法舉例:使用ImageFilter增強Pillow中的圖像

from PIL import Image, ImageFilter
#Read image
im = Image.open( 'image.jpg' )
#Display image
im.show()
from PIL import ImageEnhance
enh = ImageEnhance.Contrast(im)
enh.enhance(1.8).show("30% more contrast")

Python中常用的十個圖像處理工具

五、OpenCV-Python

OpenCV( 開源計算機視覺庫,Open Source Computer Vision Library)是計算機視覺應用中使用最廣泛的庫之一。OpenCV-Python是OpenCV的python API。

OpenCV-Python不僅速度快(因為后臺由用C / C ++編寫的代碼組成),也易于編碼和部署(由于前端的Python包裝器)。 這使其成為執行計算密集型計算機視覺程序的絕佳選擇。

5.1 使用說明文檔:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

5.2 用法舉例:使用Pyramids創建一個名為’Orapple’的新水果的功能

Python中常用的十個圖像處理工具

六、SimpleCV

SimpleCV也是用于構建計算機視覺應用程序的開源框架。 通過它可以訪問如OpenCV等高性能的計算機視覺庫,而無需首先了解位深度、文件格式或色彩空間等。學習難度遠遠小于OpenCV,并且正如他們的標語所說,“ 它使計算機視覺變得簡單 ”。支持SimpleCV的一些觀點是:

即使是初學者也可以編寫簡單的機器視覺測試

攝像機、視頻文件、圖像和視頻流都可以交互操作

6.1 使用說明文檔:

https://simplecv.readthedocs.io/en/latest/

6.2 用法舉例

Python中常用的十個圖像處理工具

七、Mahotas

Mahotas是另一個用于Python的計算機視覺和圖像處理庫。 它包含傳統的圖像處理功能(如濾波和形態學操作)以及用于特征計算的更現代的計算機視覺功能(包括興趣點檢測和局部描述符)。該接口使用Python,適用于快速開發,但算法是用C ++實現的,并且針對速度進行了優化。

Mahotas庫運行很快,它的代碼很簡單,(對其它庫的)依賴性也很小。建議閱讀他們的官方文檔以了解更多內容。

7.1 使用說明文檔:

https://mahotas.readthedocs.io/en/latest/install.html

7.2 用法舉例

Mahotas庫使用簡單的代碼來完成工作。 對于“ 尋找Wally ”的問題,Mahotas完成的得很好,而且代碼量非常小。

Python中常用的十個圖像處理工具

八、SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是一個開源的跨平臺系統,為開發人員提供了一整套用于圖像分析的軟件工具。 其中, SimpleITK是一個建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育以及腳本語言中的使用。

SimpleITK是一個包含大量組件的圖像分析工具包,支持一般的過濾操作、圖像分割和配準。SimpleITK本身是用C++編寫的,但可用于包括Python在內的大量編程語言。

8.1 使用說明文檔:

https://github.com/hhatto/pgmagick

這里有大量說明了如何使用SimpleITK進行教育和研究活動的Jupyter notebook。notebook中演示了如何使用SimpleITK進行使用Python和R編程語言的交互式圖像分析。

8.2 用法舉例

下面的動畫是使用SimpleITK和Python創建的可視化的嚴格CT / MR配準過程。

Python中常用的十個圖像處理工具

九、pgmagick

pgmagick是GraphicsMagick庫基于Python的包裝器。GraphicsMagick 圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了強大而高效的工具和庫集合,支持超過88種主要格式圖像的讀取、寫入和操作,包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等重要格式。

9.1 使用說明文檔:

https://github.com/hhatto/pgmagick

9.2 用法舉例:圖片縮放、邊緣提取

Python中常用的十個圖像處理工具

                                                                              ▲圖片縮放

Python中常用的十個圖像處理工具

                                                      ▲邊緣提取

十、Pycairo

Pycairo是圖形庫cairo的一組python綁定。Cairo是一個用于繪制矢量圖形的2D圖形庫。 矢量圖形很有趣,因為它們在調整大小或進行變換時不會降低清晰度。Pycairo庫可以從Python調用cairo命令。

10.1 使用說明文檔:

https://github.com/pygobject/pycairo

10.2 用法舉例:Pycairo可以繪制線條、基本形狀和徑向漸變

Python中常用的十個圖像處理工具


看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

内丘县| 龙海市| 临漳县| 古丈县| 八宿县| 观塘区| 昆明市| 六枝特区| 宜宾县| 西青区| 玉门市| 韶关市| 土默特左旗| 漳浦县| 昭苏县| 蓬溪县| 柳江县| 萨迦县| 莒南县| 嘉黎县| 漳州市| 陆川县| 囊谦县| 海淀区| 黑山县| 尚志市| 沅江市| 怀集县| 临邑县| 香格里拉县| 双鸭山市| 奉化市| 中牟县| 郯城县| 浦江县| 通化市| 永善县| 长岛县| 大同市| 宣城市| 山东省|