<返回更多

python中非常好用的图像处理库

2022-12-28  网易号  
加入收藏

在当今这个社会,数据就是财富,数据就是金钱,一切都离不开数据,我们看到的一切图片,本质上都是数据,如何理解和处理这些图像数据是很大的难题,不过庆幸的是,在 Python/ target=_blank class=infotextkey>Python 中,已经有了非常丰富的扩展来帮助我们处理这些图片。

opencv

opencv 是一个非常流行的数据可视化图形库,它底层使用 c++进行开发,拥有非常高效的执行效率。


 

安装使用它非常简单。


pip install opencv-python# import opencv import cv2 # Read the image image = cv2.imread('tesla.png') # grayscale the image gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) cv2.imshow('Original Image', image) cv2.imshow('Grayscale Image', gray_image) cv2.waitKey(0) cv2.destroyAllwindows()Pillow

Pillow 是另一个非常流行的图像处理库,和 opencv 相比,它更加轻量级,虽然本身功能简单,但是它支持扩展,通过扩展可以执行非常强大的功能。


 

pip install pillowfrom PIL import Image with Image.open("tesla.png") as im: #show the original image im.show("Original Image") #convert into grayscale grayscaleImg = im.convert("L") #show the grayscale image grayscaleImg.show()Scikit

Scikit 是一个进行科学研究的图形处理库,旨在使用 numpy 和 Scipy 库处理图像。它包括各种科学算法,例如分割、颜色空间操作、分析、形态学等。该库是使用 Python 和 C 编程语言编写的。它适用于所有流行的操作系统,例如 linuxmacOS 和 Windows。

pip install scikit-imagefrom skimage import io from skimage.color import rgb2gray # way to load car image from file car = io.imread('tesla.png')[:,:,:3] #convert into grayscale grayscale = rgb2gray(car) #show the original io.imshow(car) io.show() #show the grayscale io.imshow(grayscale) io.show()Numpy

numpy 本身是一个计算库,它提供了广泛的数学特性,如数组、线性代数、基本统计运算、随机模拟、逻辑排序、搜索、形状操作等。

通过对图片的运算处理,可以实现图片的灰度化。

pip install numpyimport numpy as np import Matplotlib.pyplot as plt import matplotlib.image as mpimg #load the original image img_rgb = mpimg.imread('tesla.png')[...,:3] #show the original image plt.imshow(img_rgb) plt.show() #convert the image into grayscale img_gray = np.dot(img_rgb,[0.299, 0.587, 0.144]) #show the grayscale image plt.imshow(img_gray, cmap=plt.get_cmap('gray')) plt.show()mahotas

Mahotas 是另一个可以执行各种图像处理操作的 Python 计算机视觉库。它是用 C++设计的,它包含许多提高图像处理速度的算法。此外,它使用 NumPy 数组在矩阵中使用图像。分水岭、凸点计算 hit & miss 卷积和 Sobel 边缘是该库中可用的主要功能。

pip install mahotasimport mahotas from pylab import imshow, show #read the image img = mahotas.imread('tesla.png') #show original image imshow(img) show() img = img[:, :, 0] grayscale = mahotas.overlay(img) #show grayscale image imshow(grayscale) show()SimpleITK

SimpleITK 是一个强大的图像配准和分割工具包。它是作为 ITK 工具包的扩展构建的,用于提供简化的界面。它支持不同的编程语言,例如 Python、R、C++、JAVA、C#、Ruby、TCL 和 Lua。


 

该库支持 2D、3D 和 4D 图像。与其他 Python 图像处理库和框架相比,该库的图像处理速度非常快。

pip install SimpleITKimport SimpleITK as sitk import matplotlib.pyplot as plt logo = sitk.ReadImage('tesla.png') # GetArrayViewFromImage returns an immutable numpy array view to the data. plt.imshow(sitk.GetArrayViewFromImage(logo)) plt.show()Matplotlib

Matplotlib 是一个综合库,用于在 Python 中创建静态、动画和交互式可视化。Matplotlib 让简单的事情变得简单,让困难的事情成为可能。它可以配合 Numpy 来读取图像数据。

pip install matplotlib# importing libraries. import matplotlib.pyplot as plt from PIL import Image # open image using pillow library image = Image.open("tesla.png") #show original image plt.imshow(image) plt.show() # grayscale the image plt.imshow(image.convert("L"), cmap='gray') plt.show()

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>