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

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

#加噪声,滤波

#颜色空间分解
import numpy as np
import cv2

#原始图像加入彩色噪声
def gauss_noise(image,mean=0,var=0.001):#高斯噪声,mean:均值,var:方差
    image=np.array(image/255,dtype=float)#原始图像转换为0~1之间的浮点图像
    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)#转换为0~255的图像
    #cv2.imshow("Gauss",out)
    return out

#将文件导入
filename = r'C:\Users\c\Pictures\lena.jpg'
img = cv2.imread(filename)
img=gauss_noise(img)#原图像加入高斯噪声

blur=cv2.blur(img,(5,5))#平均滤波
gauss=cv2.GaussianBlur(img,(5,5),0)#高斯滤波
median=cv2.medianBlur(img,5)#中值滤波
bilateral=cv2.bilateralFilter(img,5,150,150)#双边滤波

#显示原始图像和其他图像
cv2.imshow("source image", img)
cv2.imshow("Blurred", blur)
cv2.imshow("Gauss", gauss)
cv2.imshow("MedianF", median)
cv2.imshow("BilateralF", bilateral)
cv2.waitKey()
cv2.destroyAllWindows()

发布了4 篇原创文章 · 获赞 4 · 访问量 295

猜你喜欢

转载自blog.csdn.net/minzorty/article/details/104237644
今日推荐