图像处理工具Python扩展库,你了解吗?

    作者:匿名更新于: 2022-12-28 20:56:03

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

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

      opencv

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

      安装使用它非常简单。

      复制

      1.  pip install opencv-python

      复制

      1.  # import opencv

      2.  import cv2

      3.  # Read the image

      4.  image = cv2.imread('tesla.png')

      5.  # grayscale the image

      6.  gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

      7.  cv2.imshow('Original Image', image)

      8.  cv2.imshow('Grayscale Image', gray_image)

      9.  cv2.waitKey(0)

      10.  cv2.destroyAllWindows()

      Pillow

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

      复制

      1.  pip install pillow

      复制

      1.  from PIL import Image

      2.  with Image.open("tesla.png") as im:

      3.  #show the original image

      4.  im.show("Original Image")

      5.  #convert into grayscale

      6.  grayscaleImg = im.convert("L")

      7.  #show the grayscale image

      8.  grayscaleImg.show()

      Scikit

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

      复制

      1.  pip install scikit-image

      复制

      1.  from skimage import io

      2.  from skimage.color import rgb2gray

      3.  # way to load car image from file

      4.  car = io.imread('tesla.png')[:,:,:3]

      5.  #convert into grayscale

      6.  grayscale = rgb2gray(car)

      7.  #show the original

      8.  io.imshow(car)

      9.  io.show()

      10.  #show the grayscale

      11.  io.imshow(grayscale)

      12.  io.show()

      Numpy

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

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

      复制

      1.  pip install numpy

      复制

      1.  import numpy as np

      2.  import matplotlib.pyplot as plt

      3.  import matplotlib.image as mpimg

      4.  #load the original image

      5.  img_rgb = mpimg.imread('tesla.png')[...,:3]

      6.  #show the original image

      7.  plt.imshow(img_rgb)

      8.  plt.show()

      9.  #convert the image into grayscale

      10.  img_gray = np.dot(img_rgb,[0.299, 0.587, 0.144])

      11.  #show the grayscale image

      12.  plt.imshow(img_gray, cmap=plt.get_cmap('gray'))

      13.  plt.show()

      mahotas

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

      复制

      1.  pip install mahotas

      复制

      1.  import mahotas

      2.  from pylab import imshow, show

      3.  #read the image

      4.  img = mahotas.imread('tesla.png')

      5.  #show original image

      6.  imshow(img)

      7.  show()

      8.  img = img[:, :, 0]

      9.  grayscale = mahotas.overlay(img)

      10.  #show grayscale image

      11.  imshow(grayscale)

      12.  show()

      SimpleITK

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

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

      复制

      1.  pip install SimpleITK

      复制

      1.   import SimpleITK as sitk

      2.  import matplotlib.pyplot as plt

      3.  logo = sitk.ReadImage('tesla.png')

      4.  # GetArrayViewFromImage returns an immutable numpy array view to the data.

      5.  plt.imshow(sitk.GetArrayViewFromImage(logo))

      6.  plt.show()

      Matplotlib

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

      复制

      1.  pip install matplotlib

      复制

      1.  # importing libraries.

      2.  import matplotlib.pyplot as plt

      3.  from PIL import Image

      4.  # open image using pillow library

      5.  image = Image.open("tesla.png")

      6.  #show original image

      7.  plt.imshow(image)

      8.  plt.show()

      9.  # grayscale the image

      10.  plt.imshow(image.convert("L"), cmap='gray')

      11.  plt.show()

      来源: 程序那些事儿

        >>>>>>点击进入大数据专题

大数据 更多推荐

课课家教育

未登录