实验5双线性插值

实验5双线性插值

ID:24166427

大小:214.00 KB

页数:4页

时间:2018-11-13

实验5双线性插值_第1页
实验5双线性插值_第2页
实验5双线性插值_第3页
实验5双线性插值_第4页
资源描述:

《实验5双线性插值》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验五图像的空间变换一、实验目的1、学习图像空间变换,并通过实验体会空间变换的效果,对其作出分析。2、掌握利用最邻近插值和双线性插值算法(灰度插值)实现图像的缩放。3、掌握MATLAB编程环境中基本的图像处理函数。二、实验要求1.读入图像,对其利用最邻近插值和双线性插值法进行缩放变换,要求先使用IPT函数进行变换,然后自己编写函数实现;2.对比上述得到的结果。三、实验原理图像的空间变换,也称几何变换或几何运算,包括图像的平移、旋转、镜像变换、转置、缩放等。几何运算可改变图像中各物体之间的空间关系,这种运算可以看成是将各物体在图像内移动。空间变换可如下表示:设(u,V)为源

2、图像上的点,(X,y)为目标图像上的点,则空间变换就是将源图像上(u,v)处的像素值与目标图像上(x,y)处的像素值对应起来,并具有以下关系:x二X(u,v),y=Y(u,v)(即由(u,v)计算对应(x,y))(1.1)或u=U(x,y),v=V(x,y)(即由(x,y)计算对应(u,v))(1.2)其中X(u,v)、Y(u,v)、U(x,y)、V(x,y)均为变换。由(1.1)对应的变换称作向前映射法也叫像素移交法,而由(1.2)对应的变换称作向后映射法也叫像素填充法,向后映射法是向前映射法的逆。最简单的插值算法是最邻近插值,也称为零阶插值。最邻近插值算法简单,在许多

3、情况下都能得到令人满意的结果,但是当图像中包含像素之间灰度级有变化的细微结构时,最邻近算法会在图像中产生人为加工的痕迹。双线性插値算法计算量比零阶插値大,但缩放后图像质量高,不会出现像素值不连续的的情况,这样就可以获得一个令人满意的结果。最邻近点插值取插值点的4个邻点中距离最近的邻点灰度值作为该点的灰度值。设插值点(i,j)到周边4个邻点fk(i,j)(k=1,2,3,4)的距离为dk(k=1,2,3,4),则:g(i,j)=fk(i,j),dl=min{d1,d2,d3,d4},1=1,2,3,4。双线性插值是利用了需要处理的原始图像像素点周围的四个像素点的相关性,通过

4、双线插值算法计算得出的。对于一个目的坐标,通过后映射法得到其在原始图像的对应的浮点坐标(i+u,j+v),其中i,j均为非负整数,u,v为[0,门区间的浮点数,则这个像素的值f(i+u,j+v)可由原图像中坐标为(i,j)、(i+l,j)、(i,j+1)、(i+1,j+1)所对应的周围四个像素的值决定,即:f(i+u,j+v)=(1-u)X(1-v)Xf(i,j)+(1-u)XvXf(j,j+1)+uX(1-v)Xf(i+l,j)+uXvXf(i+l,j+1),其中f(i,j)表示源图像(i,j)处的的像素値,以此类推,这就是双线性内插值法。如下图所示,已知(0,0)、(

5、0,1)、(1,0)、(1,1)四点的的灰度,可以由相邻像素的灰度值f(0,0)和f(1,0)在X方向上线性插值求出(x,0)的灰度f(x,0),由另外两个相邻像素f(0,1)和f(1,1)在X方向上线性插值可求出(x,1)的灰度f(x,1),最后由f(x,0),f(x,1)在Y方向上进行线性插值就可以得到(x,y)的灰度f(x,y)。四、实验代码注:利用最邻近插值实现图像的放大代码在实验四报告中附,本实验中只有利用双线性插值进行放大的程序clearallN=i叩ut(1输入放大倍数:1);%输入放大倍数l=imread('Iena1.bmp');%读入256*256的I

6、ena图像G=rgb2gray(I);imshow(G);%转为灰度图像并显示[m,n]=size(G);%计算图像大小m_new=m*N;n_new=n*N;%计算放大后的图形大小J=[];%用于存放放大后图像中各像素点的灰度值fori二1:mforj二1:nJ(N*i,N*j)=G(i,j);%将原图像各像素点的灰度值赋值给放大后图像中的对应点endend%进行双线性插值——%i/N,j/N分别为放大后的像素点对应在原图像中的横纵坐标fori=1:mnewforj=1:n_newif(J(i,j)==0)a=floor(i/N);b=floor(j/N);%计其i/N

7、,j/N的整数部分u=(i/N)-a;v=(j7N)-b;%计算i/N,j/N的小数部分if((a>0)&&(a+1<=m)&&(b>0)&&(b+1<=n))%进行双线性插值J(i,j)=(1-u)*(1~v)*G(a,b)+(1-u)*v*G(a,b+1)+u*(1-v)*G(a+1,b)+u*v*G(a,b);endendendend五、实验结果及分析注:放大倍数为21、本实验中放大后的效果:2、利用上次实验中最邻近插值进行放大实现的效果:3、利用Matlab中imresize()曲数分别进行最邻近插值和双线性插值后的结

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。