Canny边缘检测非极大值抑制法在双立方插值(Bicubic)图像边缘优化

本文探讨了Canny边缘检测算法结合非极大值抑制法优化双立方插值(Bicubic)图像边缘的过程。通过实验,展示了在2倍和4倍放大图像后,如何利用简化版非极大值抑制减少边缘模糊并产生更清晰的边缘效果。虽然存在简化带来的误差,但这种方法展示了对插值图像边缘优化的潜力。
摘要由CSDN通过智能技术生成

Canny边缘检测非极大值抑制法在双立方插值(Bicubic)图像边缘优化

  1. Canny边缘检测
  2. Bicubic图像插值

一、Canny边缘检测

Canny边缘检测是一种非常流行的边缘检测算法,是John Canny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成:

1.图像降噪
2.计算图像梯度
3.非极大值抑制
4.阈值筛选

在本文中主要应用一种简化的非极大抑制方法对插值图像进行边缘优化,能够证实此方法可用即可。

二、双立方插值法

在数值分析这个数学分支中,双三次插值(Bicubic interpolation)是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x,y) 的值可以通过矩形网格中最近的十六个采样点的加权平均得到,在这里需要使用两个多项式插值三次函数,每个方向使用一个。

双三次插值又叫双立方插值,用于在图像中“插值”(Interpolating)或增加“像素”(Pixel)数量/密度的一种方法。通常利用插值技术增加图形数据,以便在它打印或其他形式输出的时候,能够增大打印面积以及(或者)分辨率。

目前有不同的插值技术可供选用。双立方插值通常能产生效果最好,最精确的插补图形,但它速度也几乎是最慢的。“双线性插值”(Bilinear interpolation)的速度则要快一些,但没有前者精确。在商业性图像编辑软件中,经常采用的是速度最快,但也是最不准确的“最近相邻”(Nearest Neighbor)插值。其他一些插值技术通常只在高档或单独应用的程序中出现。

实验:

选取了一张林俊杰的Q版头像进行此次实验,主要对其灰度图像进行处理,图像大小为480x480,如图1所示。
原始图像
首先直接利用双立方插值法对图像进行插值。
像素点坐标转换:
假设原始图像大小为mn,缩放后的目标图像B的大小为MN。那么根据比例我们可以得到B(X,Y)在A上的的 对应坐标为A(x,y)=A(X*(m/M),Y*(n/N))。在双线性插值法中,我们选取A(x,y)的最近四个点。而在双立方插值法中,我们选取的是最近的16个像素点作为计算目标图像B(X,Y)处像素值的参数,如图2所示。
图2

其中P00代表目标插值图中的某像素点(x, y)在原图中最接近的映射点,譬如映射到原图中的坐标为(1.1, 1.1),那么P00就是(1, 1),而最终插值后的图像中的(x, y)处的值即为以上16个像素点的权重卷积之和。

图3
譬如计算插值图中(distI, distJ)处像素的值:首先计算它映射到原图中的坐标(i + v, j + u)也就是说,卷积计算时,p00点对应(i, j)坐标,最终,插值后的图中(distI, distJ)坐标点对应的值是原图中(i, j)处邻近16个像素点的权重卷积之和i, j的范围是[i - 1, i + 2],[j - 1, j + 2]。

卷积公式

设采样公式为S(x),原图中每一个(i, j)坐标点的值得表达式为f(i, j),插值后对应坐标的值为F(i + v, j + u)(这个值会作为(distI, distJ)坐标点的值)。那么公式为:

在这里插入图片描述
采样公式

这里采用Bicubic
interpolation中的插值公式,代表原图中的16个点的像素值对新插入的像素点的不同权值。

在这里插入图片描述

这个采样公式有一个特点,当x=0时,S(0)=1,当x取任意整数时,S(x)=0,当x超出取值范围的时候,S(x)=0,这样的巧妙之处在于插值时不用判断新插值图像中的像素点是否为原图像已有的像素点,当取到整数时直接就将原像素点插入新图像中,而超过考虑范围内的16个像素点之外的像素点权值为0。

插值结果

下面利用这个插值算法分别对图像进行2倍和4倍的放大,并对比放大效果。

在这里插入图片描述

图4中由小到大分别为原始灰度图像、2倍放大图像和4倍放大的图像,可以看出插值效果比较理想,并且图像质量随着放大倍数的增大而变差。下面对细节处进行放大对比,将三张图片的眼睛进行放大,比较图片的质量,对比结果如图5。

在这里插入图片描述

根据图5可以看出,放大倍数越大时,同一个特征在表达时运用了更多的像素点,同时也因为每个像素点都受到周围点的影响,所以在放大后每个像素点的值都更好的融入环境,使图像变得更加模糊,在边缘处则更加明显,图像的边缘与非边缘点的差别变得更小,可以通过检测边缘梯度值的方法验证这个结果。

Canny边缘检测

下面将使用Canny边缘检测方法对图像进行边缘检测并进行优化。

高斯模糊降噪

在进行边缘检测之前首先要对原图像进行高斯滤波,减少噪声对边缘检测的影响,这里使用的是一个5x5的滤波窗对图像进行处理,滤波窗口如下:

在这里插入图片描述

滤波后图像如下:

在这里插入图片描述

接下来对模糊后的图像分别求x方向与y方向的梯度,方法有很多,这里采用sobel算子:
在这里插入图片描述

求出的x和y方向梯度图像分别为:

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值