首页 > 其他 > 详细

高斯模糊和高斯双边滤波

时间:2020-02-11 20:37:18      阅读:88      评论:0      收藏:0      [点我收藏+]
import cv2 as cv
import numpy as np
def clamp(x):
    if x >255:
        return 255
    if x <0 :
        return 0
    return x
def gussian_noise(image):
    h, w, c = image.shape[:3]
    for h_each in range(h):
        for w_each in range(w):
            noise = np.random.normal(0, 20, 3)
            image[h_each, w_each, 0] = clamp(image[h_each, w_each, 0] + noise[0])
            image[h_each, w_each, 1] = clamp(image[h_each, w_each, 1] + noise[1])
            image[h_each, w_each, 2] = clamp(image[h_each, w_each, 2] + noise[2])


src = cv.imread("d:/a.jfif")
cv.imshow("src", src)
gussian_noise(src)


cv.imshow("noise", src)
dst = cv.GaussianBlur(src, (0, 0), 3)
cv.imshow("result", dst)
dst2 = cv.bilateralFilter(src,0,100, 5)
cv.imshow("dst2", dst2)
cv.waitKey(0)
cv.GaussianBlur(src, (0, 0), 3)是高斯滤波,
cv.bilateralFilter(src,0,100, 5)是高斯双边滤波,可以保留边缘


高斯模糊和高斯双边滤波

原文:https://www.cnblogs.com/loubin/p/12296468.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!