均值模糊、中值模糊、自定义模糊


 

import cv2 as cv
import numpy as np


def blur(image):
    """均值模糊,用来去噪声"""
    dst = cv.blur(image, (5, 5))  # ksize=(1,3),均值模糊,stride=1
    cv.namedWindow("mean_blur", 0)
    cv.resizeWindow("mean_blur", 300, 400)
    cv.imshow("mean_blur", dst)


def median_blur(image):
    """中值模糊,平滑椒盐噪声"""
    dst = cv.medianBlur(image, 5)  # ksize=5
    cv.namedWindow("median_blur", 0)
    cv.resizeWindow("median_blur", 300, 400)
    cv.imshow("median_blur", dst)


def custom_blur(image):
    """自定义模糊"""
    kernel = np.ones([5, 5], np.float32) / 25  # 防止溢出255
    kernel1 = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)  # 锐化算子
    dst = cv.filter2D(image, -1, kernel=kernel1)  # -1,表示默认的ddepth
    cv.namedWindow("custom_blur", 0)
    cv.resizeWindow("custom_blur", 300, 400)
    cv.imshow("custom_blur", dst)


src = cv.imread("img/test.jpg")
cv.namedWindow("src", 0)
cv.resizeWindow("src", 300, 400)
cv.imshow("src", src)
blur(src)
median_blur(src)
custom_blur(src)
cv.waitKey(0)
cv.destroyAllWindows()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM