Matplotlib是Python中一个流行的数据可视化库,它不仅可以绘制2D和3D图形,还可以用于图像处理。下面介绍一些Matplotlib中的图像处理方法:
显示图像
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 读取图像
img = mpimg.imread('image.jpg')
# 显示图像
plt.imshow(img)
plt.show()
运行结果:
调整图像大小
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
# 读取图像
img = mpimg.imread('image.jpg')
# 调整图像大小
img_resized = mpimg.imresize(img, (300, 300))
# 显示图像
plt.imshow(img_resized)
plt.show()
灰度化图像
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
# 读取图像
img = mpimg.imread('image.jpg')
# 灰度化图像
img_gray = np.dot(img, [0.2989, 0.5870, 0.1140])
# 显示图像
plt.imshow(img_gray, cmap='gray')
plt.show()
运行结果:
二值化图像
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
# 读取图像
img = mpimg.imread('image.jpg')
# 灰度化图像
img_gray = np.dot(img, [0.2989, 0.5870, 0.1140])
# 二值化图像
img_binary = np.where(img_gray > 0.5, 1, 0)
# 显示图像
plt.imshow(img_binary, cmap='gray')
plt.show()
边缘检测
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
from scipy import ndimage
# 读取图像
img = mpimg.imread('image.jpg')
# 灰度化图像
img_gray = np.dot(img, [0.2989, 0.5870, 0.1140])
# 边缘检测
sobelx = ndimage.sobel(img_gray, axis=0)
sobely = ndimage.sobel(img_gray, axis=1)
img_edges = np.hypot(sobelx, sobely)
# 显示图像
plt.imshow(img_edges, cmap='gray')
plt.show()
这些是Matplotlib中的一些图像处理方法,可以用于图像的预处理、特征提取等任务。
本文链接:https://my.lmcjl.com/post/19374.html
展开阅读全文
4 评论