学习笔记(12):一学即懂的计算机视觉(第一季)-实战演练:图像平滑滤波对比...

立即学习:https://edu.csdn.net/course/play/26281/327075?utm_source=blogtoedu

OpenCV滤波函数:filter2D,blur,GaussianBlur,medianBlur,bilateralFilter(sigmaColor,sigmaSpace一般设置为150或200等大于150的值)

import cv2 as cv
import numpy as np

def gauss_noise(image, mean=0, var=0.001):
    image=np.array(image/255, dtype=float)
    noise=np.random.normal(mean, var ** 0.5, image.shape)
    out=image+noise
    if out.min() < 0:
        low_clip = -1.
    else:
        low_clip = 0.
    out=np.clip(out, low_clip, 1.0)
    out=np.uint8(out*255)
    return out
    
def main():
    filename= "d:/lena.jpg"
    img=cv.imread(filename)
    img=gauss_noise(img)

    blur=cv.blur(img, (5,5))
    gauss=cv.GaussianBlur(img, (5,5), 0)
    median=cv.medianBlur(img, 5)
    bilateral=cv.bilateralFilter(img, 5, 150, 150)

    cv.imshow("image", img)
    cv.imshow("blur", blur)
    cv.imshow("gauss", gauss)
    cv.imshow("median", median)
    cv.imshow("bi", bilateral)

    cv.waitKey()
    cv.destroyAllWindows()

if __name__ == '__main__':
    main()
发布了65 篇原创文章 · 获赞 34 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/huanggang982/article/details/104547710