Study notes (12): a computer vision science that is understood (the first quarter) - practical exercise: smoothing the image contrast ...

Learning immediately: https://edu.csdn.net/course/play/26281/327075?utm_source=blogtoedu

OpenCV filter function: filter2D, blur, GaussianBlur, medianBlur, bilateralFilter (sigmaColor, sigmaSpace the like is generally set to a value greater than 150 or 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()

 

Published 65 original articles · won praise 34 · views 260 000 +

Guess you like

Origin blog.csdn.net/huanggang982/article/details/104547710