一种基于边缘算子的自适应图像缩放算法

2021-08-05 05:51李鸿燕傅奕融乔嘉炜赖方也姚龙
软件工程 2021年7期
关键词:边缘检测

李鸿燕 傅奕融 乔嘉炜 赖方也 姚龙

摘  要:本文算法将像素点自适应分为边缘和非边缘区域,对边缘区域的像素点,确定出边缘点的梯度方向和边缘线方向。对边缘线上的点,采用线性插值;对边缘区域梯度方向的点,采用最近邻域插值法;对其他情形的像素点,采用双线性插值。MATLAB仿真环境实验结果表明:该算法提高了边缘及插值方向检测的准确性,与传统的Bilinear、Cubic算法相比,在处理边缘细节较多的图像时,具有更好的边缘估计和插值效果,提高了缩放后图像的视觉质量。

关键词:图像缩放;边缘检测;线性插值;双线性插值

中图分类号:TP301.6     文献标识码:A

A Self-adaptive Image Scaling Algorithm based on Edge Operator

LI Hongyan, FU Yirong, QIAO Jiawei, LAI Fangye, YAO Long

(School of Mathematics, Physics and Statistics, Shanghai University of Engineering Science, Shanghai 201620, China)

wxsh2001@163.com; fuyirong75@163.com; 2476105736@qq.com;

1966577211@qq.com; 1832991860@qq.com

Abstract: The algorithm proposed in this paper adaptively divides pixel points into edge and non-edge areas, and determines gradient direction and edge line direction for the pixel points in edge areas. For points on edge line, linear interpolation is used; for points in the gradient direction of the edge areas, nearest neighbor interpolation is used; for pixels in other situations, bilinear interpolation is used. The experimental results of MATLAB (Matrix & Laboratory) simulation environment show that the algorithm improves the accuracy of edge and interpolation direction detection. Compared with the traditional Bilinear and Cubic algorithms, it has better edge estimation and interpolation effect when processing images with more edge details, so to improve visual quality of the zoomed image.

Keywords: image scaling; edge detection; linear interpolation; bilinear interpolation

1   引言(Introduction)

图像缩放,也称图像重采样、图像分辨率转换。图像缩放可通过插值算法实现,传统基于像素的图像缩放算法[1-4]在缩放时会引起边缘锯齿和细节模糊;针对传统基于像素的插值算法不足,文献[5]提出了基于边缘的图像缩放算法,该类算法较好地消除了邊缘锯齿问题,但是计算量大,同时算法受噪声干扰大,目标图像易出现判断失误。

基于边缘的图像缩放算法中,边缘检测的准确度和边缘区域像素点插值方向判定的精度是算法的关键,对缩放后图像质量好坏有至关重要的影响。若不能找到完整的边缘,插值后的图像仍会存在锯齿;若以边缘点为中心的插值方向定位不准确,沿边缘方向的插值会出现错误,从而影响图像的质量。

本文采用边缘检测最优的Canny算子检测图像中物体的边缘[6-7]。对边缘区域的像素点,确定出边缘线方向,求出边缘点的梯度方向。对边缘线上的点,采用线性插值法;对边缘梯度方向的点,采用最近邻域插值法;对其他情形的像素点,采用双线性插值法。该算法提高了边缘及插值方向检测的准确性,有效消除了传统插值算法在物体边缘部分出现的锯齿,具有更好的边缘估计和插值效果,提高了缩放后图像的视觉质量。

2 基于边缘算子的自适应图像缩放算法(Self-adaptive image scaling algorithm based on edge operator)

2.1   边缘插值方向的确定

先利用Canny算子检测出图像的边缘,根据Canny算子的性质,在边缘产生梯度方向和梯度的模(即梯度强度)两个信息,再根据边缘梯度特征,基于边缘确定插值方向。

以边缘点为中心的邻域中,有8个邻接点,其中有2个也为边缘像素点,这3个点构成一条边缘线。以为中心向外辐射,产生8个方向,分别为:水平方向、,垂直方向、和对角线方向、、、,如图1所示。

若从边缘点发出的为非边缘线方向,边缘像素与其相邻像素的灰度值存在突变,且沿梯度方向或梯度反方向突变最强;当取梯度方向时,灰度值增加最强;当取梯度反方向时,灰度值减少最强[8]。为了保护图像的边缘信息,插值应沿着梯度方向或其反方向进行。因此对于边缘点,插值要考虑两个方向:边缘线方向、梯度方向或其反方向。

2.2   自适应图像缩放算法

基于边缘算子的自适应图像缩放算法步骤如下:

(1)首先使用Canny边缘算子进行边缘检测,根据边缘检测的结果把待插值图像像素点自适应分为边缘区域和非边缘区域,并采用不同的插值算法。

(2)对于非边缘区域,基于水平和垂直两个方向上采用双线性插值法。设待插值像素点位于如图2所示的原始图像像素点邻域内,则插值函数为:

(1)

式中,为待插像素点灰度值;为原始图像像素点灰度值;和分别为像素点的横、纵坐标值;i≤x≤i+1,j≤y≤j+1。

(3)对于边缘区域,以边缘像素点为中心,选取邻域,求出边缘梯度。对以边缘像素点为中心,不在边缘线方向或边缘梯度方向的点,采用双线性插值法;对边缘梯度方向(或其反方向)的点,采用最近邻域插值法;对边缘线方向的点,采用线性插值,计算公式为:

(2)

式中,为待插像素点,、均为原始图像边缘线方向的像素点,为权重参数。实际算法中,待插像素点是位于以原像素点为中心的水平、垂直或对角线方向的点。

(4)合并边缘区域、非边缘区域插值结果,输出最终缩放后的图像。

本研究主要算法流程如图3所示。

3  MATLAB环境下的仿真实现(Simulation in MATLAB environment)

在MATLAB软件环境下进行算法编程[9],在实验中首先对格式为YUV4:2:0的一组图像Lena、Foreman、Flower、Coins、Fruit、Akiyo的长宽均缩小一半,将缩小后得到的图像作为原图像,然后采用本文算法将长宽各放大一倍至原来图像大小。设原图像点为,邻接点为,待插值点为,如图4所示。

(1)若为边缘线上的点,采用线性插值,待插点插值公式為:

(3)

式中,为待插像素点灰度值;为原始图像像素点灰度值。

(2)若为边缘点,为非边缘点,且构成边缘点的梯度方向(或其反方向),则采用最近邻域插值,待插点插值公式为:

(4)

(3)若为其他情形,采用双线性插值,待插点插值公式为:

(5)

将放大后的目标图像与原实际图像进行对比,同时选用双线性插值法(Bilinear)、立方卷积插值法(Cubic)作为参照(如表1所示),图像质量评价采用峰值信噪比(Peak Signal-Noise Ratio, PSNR)通用的检测效率衡量指标进行比较分析,PSNR值越大,图像的缩放质量越高。

其中Coins原始图像及放大后的图像边缘细节如图5所示。

从表1中实验结果和图5边缘细节对比可以看出,与传统的Bilinear、Cubic算法相比,在处理Coins、Fruit等包含较多边缘细节的图像时,本算法得到了较为清晰的边缘细节及较高的PSNR值,从而获得了更佳的图像缩放质量。同时在处理Lena和Foreman的图像时,本算法PSNR值低于算法复杂度较高的Cubic算法PSNR值,高于Bilinear算法PSNR值,获得了平均的参数值。

4   结论(Conclusion)

本研究提出了基于边缘算子的自适应图像缩放算法。像素点自适应分为边缘区域和非边缘区域,对边缘区域的像素点,确定出边缘线方向,求出边缘点的梯度方向。对边缘线上的点,采用线性插值;对边缘梯度方向的点,采用最近邻域插值;对其他情形的像素点,采用双线性插值。该算法提高了边缘及插值方向检测的准确性,在处理包含较多边缘细节的图像时,有效消除了传统插值算法在物体边缘部分出现的锯齿,从而具有更好的边缘估计和插值效果,提高了缩放后图像的视觉质量。

参考文献(References)

[1] 王翔.数字图像缩放及图像质量评价关键技术研究[D].杭州:浙江大学,2012.

[2] 徐鹏飞.双线性插值和三次卷积在图像缩放中的应用及实现[J].网络安全技术与应用,2017(12):51,67.

[3] 张洋.基于双线性插值法的图像缩放算法的设计与实现[J].电子设计工程,2016,24(03):169-170,175.

[4] 孙伟.基于自适应插值算法的视频图像缩放技术及其FPGA实现[J].信息通信,2015(03):44.

[5] 李自勤,蒋涛,项铁铭.基于FPGA的边缘自适应图像缩放算法[J].计算机工程,2013,39(5):253-256.

[6] LEE J, TANG H, PARK J. Energy efficient canny edge detector for advanced mobile vision applications[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2018, 28(4):1037-1046.

[7] 廖鸿飞,李鸿燕,徐才恩,等.基于方向梯度的边缘检测算法及实现[J].上海工程技术大学学报,2017,31(1):16-19.

[8] 同济大学数学系.高等数学[M].6版(下册).北京:高等教育出版社,2007:103-106.

[9] GONZALEZ R C, WOODS R E. 数字图像处理[M].3版.阮秋琦,译.北京:电子工业出版社,2017:48-69.

作者简介:

李鸿燕(1971-),女,硕士,副教授.研究领域:图像处理,奇异积分方程.

傅奕融(2001-),男,本科生.研究领域:能源与动力工程.

乔嘉炜(2001-),男,本科生.研究领域:能源与动力工程.

赖方也(2001-),男,本科生.研究领域:能源与动力工程.

姚    龙(2001-),男,本科生.研究领域:能源与动力工程.

猜你喜欢
边缘检测
基于数学形态学的一种改进CO2焊熔池图像边缘检测算法
离散过程神经网络和CGA相融合的边缘检测
基于图像的物体尺寸测量算法研究
唐卡图像边缘提取
水下大坝裂缝图像分割方法研究 
基于多算法融合的多车牌定位方法研究
基于高精度星敏感器的星图降噪研究
基于灰度的图像边缘检测与匹配算法的研究
基于TMS320的跑道异物监测系统
基于边缘检测和色彩空间的混合车牌定位算法