OpenCV:圖像平滑和圖像模糊處理

導包:spa

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

 圖像的平滑處理:code

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

高斯模糊:blog

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

 中值模糊:it

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()
相關文章
相關標籤/搜索