导包:
import numpy as np
import cv2
import matplotlib.pyplot as plt
def show(image):
plt.imshow(image)
plt.axis('off')
plt.show()
def imread(image):
image=cv2.imread(image)
image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
return image
图像的平滑处理:
kernelsizes=[(3,3),(9,9),(15,15)]
plt.figure(figsize=(15,15))
for i,kenel in enumerate(kernelsizes):
plt.subplot(1,3,i+1)
#平均平滑的方式
blur=cv2.blur(image,kenel)
plt.axis('off')#不显示坐标
plt.title('great title'+str(kenel))
plt.imshow(blur)
plt.show()
高斯模糊:
kernelsizes=[(3,3),(9,9),(15,15)]#仅对于这幅图来说,高斯模糊和平均模糊是没有什么区别的。
plt.figure(figsize=(15,15))
for i,kenel in enumerate(kernelsizes):
plt.subplot(1,3,i+1)
#平均平滑的方式
blur=cv2.GaussianBlur(image,kenel,0)
plt.axis('off')#不显示坐标
plt.title('great title'+str(kenel))
plt.imshow(blur)
plt.show()
中值模糊:
plt.figure(figsize=(15,15))
for i,kenel in enumerate((3,9,15)):#意思是代表3*3,9*9,15*15的卷积核
plt.subplot(1,3,i+1)
#平均平滑的方式
blur=cv2.medianBlur(image,kenel,0)
plt.axis('off')#不显示坐标
plt.title('great title'+str(kenel))
plt.imshow(blur)
plt.show()