一、数字图像处理

数字图像处理

图像滤波

请添加图片描述

作用:

1.消除图像中混入的噪声

2.为图像识别抽取出图像特征

图像滤波分为线性和非线性,用算子实现。算子就是小的矩阵,比如可以从左上角开始卷积运算,每次运算都算出来一个数,新矩阵就是滤波后的结果。
请添加图片描述

一、平滑滤波

用于降噪

1、简单平均法

请添加图片描述

取一个九宫格取平均值,滤波后的结果为50,在一定范围内滤除噪音

(90+0+90+0+90+0+90+0+90)/9=50

2、高斯滤波

一维

请添加图片描述
请添加图片描述

二维

请添加图片描述
请添加图片描述

离中心值距离越远则发生概率越小

在这里插入图片描述

用二维高斯分布的公式:

第一个:

中间:

与100为中心的矩阵相乘:4.54+0+0+0+7.07+0+4.54=16.15

算子之和:0.0454+0.0566+0.0454+0.0566+0.0707+0.0566+0.0454+0.0566+0.0454=0.4787

16.15/0.4787=33.73

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oMN33cAb-1645602477444)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20220223112928417.png)]

处理边界时用padding

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UpAZjL1h-1645602477445)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20220223113114838.png)]

边缘滤波

常见的又Roberts算子、Prewitt算子、Sobel算子

Roberts算子

在图像增强锐化中作为一阶算子来使用,计算量小,对细节敏感

请添加图片描述

Prewitt算子

请添加图片描述

Sobel算子

请添加图片描述

Canny算子

请添加图片描述

  1. 用高斯滤波平滑图像

  2. 用sobel等梯度算子计算梯度幅值和方向

  3. 对梯度幅值进行非极大值抑制

    用sobel算子计算出梯度幅值和方向后,梯度方向一定是垂直与潜在边界的方向。遍历图像上所有检测后的像素,判断每个像素,例如:B是否是A、B、C三个点中的最大值,如果是则保留,不是则抑制(梯度设为0)。

    请添加图片描述

  4. 用双阈值算法检测和连接边缘

    对于梯度设定两个域置T-max和T-min
    ① 若某一像素位置的幅值超过了高阈值,该像素被保留为边缘像素。
    ② 若某一像素位置的幅值小于低阈值,该像素被排除。
    ③ 若某一像素位置的幅值在两个阈值之间,该像素仅仅在连接到一个高于高阈值的像素时被保留。

    请添加图片描述

from skimage import filters 
from skimage import feature
filters.roberts(img) 
filters.prewitt(img) 
• filters.prewitt_h(img) 
• filters.prewitt_v(img) 
filters.sobel(img) 
• filters.sobel_h(img) 
• filters.sobel_v(img) 
features.canny(img,sigma=0.1)

请添加图片描述

图像域置分割

基于Otsu算法(大津算法)的阈值分割方法,又称最大类间方差法

请添加图片描述

  • 把图像转成灰度图

请添加图片描述

灰度分布图,x轴代表一个像素的亮度从0—1(灰度图范围),y轴是像素为某个灰度值的发生频率。

  • 计算全部平均灰度w

  • 选定一个阈值T(假设为0.7)把所有像素分成N0,N1两个部分

  • 计算N0的平均灰度w0,和N1的平均灰度w1

  • 计算类间方差g=N0(w0-w)2+N1(w1-w)2

    可以精简为g=N0N1(w0-w1)2

  • 采用遍历法找到Tmax使得g最大

from skimage import feature 
theta = filters.threshold_otsu(img_gray,nbins=256) 
#nbins代表将0-1之间切成的份数,遍历密度越大则theta越准,但运算速度会下降
#生成图像大小的矩阵,矩阵所有值设为0
img_seg=np.zeros(img_gray.shape) 
#亮度>theta的设为1
img_seg[img_gray>theta]=1

基本形态学滤波

膨胀与腐蚀

膨胀:例如把1附近的0设为1 腐蚀:例如把0附近的1设为0

膨胀可以扩充边缘,腐蚀可以提取骨干信息

在这里插入图片描述

开运算与闭运算

在这里插入图片描述

from skimage import morphology 
#膨胀
img_d=morphology.dilation(img,morphology.square(2))
#腐蚀
img_d=morphology.erosion(img,morphology.square(2))
#开运算
img_d=morphology.opening(img_gray,morphology.square(5)) 
#闭运算
img_d=morphology.closing(img_gray,morphology.square(15))

本期内容与深度学习/计算视觉的关联

• 边缘检测—深度学习神经网络卷积层的数学原理

• 阈值图片分割—计算视觉分割任务的经典应用

• 平滑滤波与基本形态学滤波—图像的降噪与数据清洗

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值