AI19第二周基础作业

基础作业

1. 画图解释图像卷积滤波的基本原理,并进一步简述常见的图像平滑滤波算法。

图像滤波计算---某一像素滤波结果

基本原理

线性滤波是图像处理最基本的方法,我们可以对图像进行处理,产生很多不同的效果。我们有一个二维的滤波器矩阵(卷积核)和一个要处理的二维图像。然后,对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值。这样就完成了滤波过程(滤波即卷积,由逐点乘积后累加得到)。
(1)滤波器的大小应该是奇数,这样它才有一个中心,例如3x3,5x5或者7x7。
(2)滤波器矩阵所有的元素之和应该要等于1,这是为了保证滤波前后图像的亮度保持不变。
(3)进行计算时,卷积核要进行180o翻转转换成卷积模板之后进行滤波操作。

其他常见的图像平滑滤波算法

(1)高斯滤波:

dst = cv2.GaussianBlur( SRC,ksize,sigmaX [,DST [,sigmaY [,borderType ] ] ] )
图像大多数噪声均属于高斯噪声,因此高斯滤波器应用也较广泛。高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像去噪。
可以简单地理解为,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由其本身值和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个用户指定的模板(或称卷积、掩膜)去扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

(2)平均滤波:

dst = cv2.blur(src, ksize[, dst[, anchor[, borderType]]])
均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。

(3)中值滤波

dst = cv2.medianBlur( SRC,ksize [,DST ] )
中值滤波模板就是用卷积框中像素的中值代替中心值,达到去噪声的目的。这个模板一般用于去除椒盐噪声。前面的滤波器都是用计算得到的一个新值来取代中心像素的值,而中值滤波是用中心像素周围(也可以使他本身)的值来取代他,卷积核的大小也是个奇数。

注:随着中值平滑窗口的增大,椒盐噪声会完全被消除,而且中值滤波后的效果并没有降低边缘的锐利程度,中值平滑具有一定的保边作用。

(4)形态学滤波

dst = cv2.morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])
数学形态学滤波基础操作分别为膨胀和腐蚀,开运算为先腐蚀后膨胀,闭运算为先膨胀后腐蚀。一般先进行开运算在进行闭运算可有效去除噪声。

2. 简述边缘检测的基本原理,以及Sobel、LoG和Canny算子的原理差异。

边缘检测基本原理

边缘检测是所有基于边界的图像分割方法的第1步。两个具有不同灰度值的相邻区域之间总存在边缘。边缘是灰度值不连续的结果,这种不连续常可利用求导数方便地检测到,一般常用一阶导数和二阶导数来检测边缘。 常见的边缘剖面有3种:①阶梯状边缘;②脉冲状边缘;③屋顶状边缘。阶梯状的边缘处于图像中两个具有不同灰度值的相邻区域之间,脉冲状主要对应细条状的灰度值突变区域,而屋顶状的边缘上升下降沿都比较缓慢。由于采样的缘故,数字图像中的边缘总有一些模糊,所以这里垂直上下的边缘剖面都表示成有一定坡度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值