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()
来源: 程序那些事儿
>>>>>>点击进入大数据专题
¥188.00
¥699.00
¥499.00
¥999.00
¥680.00