-
. z.
基于时域插值的几种图像放大方法
摘要:图像插值是图像比例缩放的常用方法。针对时域图像的放大问题,介绍了最邻近、双线性和双立方三种插值方法,并使用matlab对其进展实而双立方由于需要计算更多的像素点以及更多浮点运算,消耗最多的时间,但可以得到最好的图像质量。
6 结论
最邻近插值本质上只用了一个最接近像素点的灰度信息,运算方法简单,速度快,但其图像灰度变化处会出现明显的阶梯变化,出现“马赛克〞的失真现象,整体复原情况不佳;双线性插值上是对周围
-
. z.
4个像素点求加权平均,整体失真较小,在频域上可看作低通滤波器,在图像颜色梯度较大或图像边缘可观察到模糊的现象;双立方插值算法不仅考虑到插值临近像素的取值,还引入了周围的16个像素灰度值来锐化图像。得到的放大图像失真较小,而且复原了图像本身的细节,但其运算复杂,时间本钱高。在实际应用中,应根据系统的资源、运行的环境和要求灵活运用,以到达最正确的尺度变换效果。
本文只讨论了三种在时域围变换的插值方法,其处理手段还有相当的局限性。假设引入FFT〔快速傅里叶变换〕,将图像变换为频域进展更灵活的处理,还可以进一步提高图像尺度变换的效率和质量,为后续图像处理提供更好的原始样本。
参考文献
[1] (第二版).
[2] 王森,
[3] 王林,
[4] 秀英,
[5] 邓林华,
[6] Rafael C. Gonzalez,Richard E. Image . 2021
[7] 卢君,
[8]
-
. z.
附录1
Matlab主要源程序
1 最邻近插值
function [i]=NN(p,k)
%p the origianl graph
%k the magnification
[row,col,rgb]=size(p);%get the size of graph
i=zeros(k*row,k*col,3);
for *=1:row*k
for y=1:col*k;
a=round(*/k);
b=round(y/k);%Nearst Neibor Interpolation
%deal with if a,b==0
if a==0 a=1;end;
if b==0 b=1;end;
i(*,y,:)=p(a,b,:);
end
end
2 双线性插值
function [i]=bilinear(p,k)
%p the or
时域插值的几种图像放大方法 来自淘豆网m.daumloan.com转载请标明出处.