6. 模糊

模糊,即离散卷积
所以卷积通俗话语是:模糊操作

1.基于离散卷积
2.定义好每个卷积核
3.不同卷积核得到不同的卷积效果
4.模糊是卷积的一种表象

1.模糊:均值模糊、中值模糊、自定义模糊

均值模糊:用于去除随机噪声 :dst = cv.blur(img, (15,5)) # 15是垂直方向 5 是水平方向的模糊

中值模糊:用于去除椒盐噪声,即一粒粒的噪音 : dst = cv.medianBlur(img, 5)   #对去掉 椒盐特征值 是比较好的

自定义模糊:可以进行模糊和锐化 :

                      kernel = np.ones([5,5], np.float32)/25   #除25是卷积的原理
                         或者 kernel = np.array([0,-1,0], [-1,5,-1], [0,-1,0], np.float32)/9
                     dst = cv.filter2D(img, -1, kernel=kernel)

#锐化
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)
#总和 = 0:表示做边缘梯度
#总和 = 1:表示做增强的工作

dst = cv.filter2D(image, -1, kernel=kernel)
cv.imshow("custom_blur", dst)

#边缘梯度
kernel = np.array([[0, -1, 0], [-1, 5, -1], [-1, -1, 0]], np.float32)
#总和 = 0:表示做边缘梯度

dst = cv.filter2D(image, -1, kernel=kernel)
cv.imshow("custom_blur", dst)

def mo_image(src1):
    src2 = cv.blur(src1, (5, 5))
    cv.imshow("均值模糊", src2)

    src2 = cv.medianBlur(src1, 5)
    cv.imshow("中值模糊", src2)

    src2 = cv.GaussianBlur(src1, (5, 5), 2)
    cv.imshow("高斯模糊", src2)

    src2 = cv.bilateralFilter(src1, 5, 5, 2)
    cv.imshow("双边滤波", src2)


# 自定义模糊函数
def zi_image(src1):
    kernel1 = np.ones((5, 5), np.float)/25  # 自定义矩阵,并防止数值溢出
    src2 = cv.filter2D(src1, -1, kernel1)
    cv.imshow("自定义均值模糊", src2)
    kernel2 = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)
    src2 = cv.filter2D(src1, -1, kernel2)
    cv.imshow("自定义锐化", src2)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值