五、图像平滑、滤波

本文详细介绍了图像平滑的各种滤波方法,包括2D滤波器cv2.filter2D、均值滤波、方框滤波、高斯模糊、中值滤波、双边滤波以及联合双边滤波和导向滤波。通过这些滤波技术,可以实现图像去噪、模糊和边缘保持等效果。其中,双边滤波和导向滤波在保持边缘信息方面表现出色。
摘要由CSDN通过智能技术生成

目录

1、2D滤波器cv2.filter2D( )

2、均值滤波blur

3、方框滤波boxFilter

4、高斯模糊模板

5、中值滤波模板

6、双边滤波

7、联合双边滤波(未测试)

8、导向滤波


运用它,首先就要了解它,什么是平滑滤波?

      平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大从而使输出的图像变得模糊,因此需合理选择邻域的大小。

在看一下滤波的目的:

滤波的本义是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分.这即是滤波的过程,也是目的。

  • 抽出对象的特征作为图像识别的特征模式

  • 为适应图像处理的要求,消除图像数字化时所混入的噪声

1、2D滤波器cv2.filter2D( )

Opencv提供的一个通用的2D滤波函数为cv2.filter2D(),滤波函数的使用需要一个核模板,对图像的滤波操作过程为:将和模板放在图像的一个像素A上,求与之对应的图像上的每个像素点的和,核不同,得到的结果不同,而滤波的使用核心也是对于这个核模板的使用,需要注意的是,该滤波函数是单通道运算的,也就是说对于彩色图像的滤波,需要将彩色图像的各个通道提取出来,对各个通道分别滤波才行。

对于2D图像可以进行低通或者高通滤波操作

    低通滤波(LPF):有利于去噪,模糊图像

    高通滤波(HPF):有利于找到图像边界

使用自定义内核对图像进行卷积。该功能将任意线性滤波器应用于图像。支持就地操作。当光圈部分位于图像外部时,该功能会根据指定的边框模式插入异常像素值。

cv2.filter2D(src,dst,ddepth,kernel,anchor=(-1,-1),delta=0,borderType=cv2.BORDER_DEFAULT)
        src: 输入图像对象矩阵
        dst:输出图像矩阵
        ddepth:输出矩阵的数值类型
        kernel:卷积核
        anchor:卷积核锚点,默认(-1,-1)表示卷积核的中心位置
        delat:卷积完后相加的常数
        borderType:填充边界类型

参数:

参数 描述
src 原图像
dst 目标图像,与原图像尺寸和通过数相同
ddepth 输出图像深度(通道数),-1表示和原图像一致
kernel 卷积核(或相当于相关核),单通道浮点矩阵;如果要将不同的内核应用于不同的通道,请使用拆分将图像拆分为单独的颜色平面,然后单独处理它们。
anchor 内核的锚点,指示内核中过滤点的相对位置;锚应位于内核中;默认值(-1,-1)表示锚位于内核中心。
detal 在将它们存储在dst中之前,将可选值添加到已过滤的像素中。类似于偏置。
borderType 像素外推法,参见BorderTypes
# encoding: utf-8

import cv2
import matplotlib.pyplot as plt
import math
import copy
import numpy as np


path = r"lena.jpg"
img = cv2.imread(path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray1 = np.float32(gray) #转化数值类型

kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(gray,-1,kernel)
#cv2.filter2D(src,dst,kernel,auchor=(-1,-1))函数:
#输出图像与输入图像大小相同
#中间的数为-1,输出数值格式的相同plt.figure()

plt.subplot(1,2,1),plt.imshow(gray1,'gray')#默认彩色,另一种彩色bgr
plt.subplot(1,2,2),plt.imshow(dst,'gray')
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>