zoukankan      html  css  js  c++  java
  • OpenCV:图像平滑和图像模糊处理

    导包:

    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()
  • 相关阅读:
    【bzoj2820】GCD
    【learning】莫比乌斯反演
    【bzoj2151】种树
    【noip模拟】局部最小值
    【learning】多项式乘法&fft
    【learning】二分图最大匹配的König定理
    【noip模拟】2048
    【noip模拟】修长城
    【noip模拟】最小点覆盖
    【noip模拟】Fantasia
  • 原文地址:https://www.cnblogs.com/geeksongs/p/11131651.html
Copyright © 2011-2022 走看看