OpenCV——08边缘保留滤波(EPF)

本文介绍了OpenCV中的边缘保留滤波技术,重点讲解了高斯双边模糊和均值迁移两个关键步骤。高斯双边模糊通过调整sigmaColor和sigmaSpace参数实现对噪声的去除和边缘的保护。均值迁移则通过设定空间窗sp和色彩窗sr的半径来影响滤波效果。
摘要由CSDN通过智能技术生成

OpenCV——08边缘保留滤波(EPF)

边缘保留滤波(EPF)

  • 高斯双边模糊
  • 均值迁移
# -*- coding:utf-8 -*-
import cv2 as cv
import numpy as np

# 高斯双边模糊
def bi_demo(image):
    dst = cv.bilateralFilter(image, 0, 100, 15)
    cv.imshow("bi_demo", dst)

# 均值迁移
def shift_demo(image):
    dst = cv.pyrMeanShiftFiltering(image, 10, 50)
    cv.imshow("shift_demo", dst)

# 读取图片
src = cv.imread("D:\Python\Projects\OpenCV_toturial\images\example.png")
# 创建opencv的GUI窗口
# cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
# 将图片放入指定名字的窗口中显示出来
cv.imshow("input image", src)
# bi_demo(src)
shift_demo(src)
# fill_color_demo(src)
# fill_binary_demo()
# 设置waitKey中的delay为0,程序会等待用户操作后关闭窗口
cv.waitKey(0)
cv.destroyAllWindows()

高斯双边模糊

cv.bilateralFilter(src, d, sigmaColor, sigmaSpace, dst = None, borderType = None)

说明
1.一般sigmaColor取大一点,其目的是为了将小的差异模糊掉,就是将那些噪声能够去掉,sigmaSpace空间差异取小一点,这样核的规模就会小一点,如果sigmaSpace太大,计算量就会很大
2.d是distance,如果d不为0,而且sigmaSpace没有输入,就会从d计算sigmaSpace,如果sigmaColor也没输入,那么就会从sigmaSpace计算sigmaColor
3.一般d取为0,输入sigmaColor和sigmaSpace,反算出d

在这里插入图片描述

均值迁移

cv.pyrMeanShiftFiltering(src, sp, sr, dst = None, maxLevel = None, termcrit = None)

src:输入的8-比特,3-信道图象.
dst:和源图象相同大小,相同格式的输出图象.
sp:空间窗的半径
sr:色彩窗的半径
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值