51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1137|回复: 1
打印 上一主题 下一主题

[原创] Python扩展库作为图像处理工具你知道多少?

[复制链接]
  • TA的每日心情
    擦汗
    前天 09:08
  • 签到天数: 947 天

    连续签到: 6 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-12-28 13:36:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在当今这个社会,数据就是财富,数据就是金钱,一切都离不开数据,我们看到的一切图片,本质上都是数据,如何理解和处理这些图像数据是很大的难题,不过庆幸的是,在 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 pillow

      from 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 编程语言编写的。它适用于所有流行的操作系统,例如 Linux、macOS 和 Windows
      pip install scikit-image

      from 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 numpy

      import 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 mahotas

      import 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 SimpleITK

      import 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()



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 467 天

    连续签到: 63 天

    [LV.9]测试副司令

    2#
    发表于 2023-3-7 09:24:09 | 只看该作者
    竟然有这么多,学习了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-13 06:45 , Processed in 0.063315 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表