图像信号的抽取与插值_第1页
图像信号的抽取与插值_第2页
图像信号的抽取与插值_第3页
图像信号的抽取与插值_第4页
图像信号的抽取与插值_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

姓名:张达学号:202330561069外国语学院设计性实验1图像信号的抽取与插值一、实验目的熟悉图像处理常用函数和方法;培养通过查阅文献解决问题的能力。二、实验要求给出一个二维灰度图像,编程实现对该图像的任意比例的放大及缩小;编程实现对该图像的任意角度旋转;解决缩放及旋转时产生的锯齿等图像不平滑问题。实验提示利用上采样、下采样等方法对信号进行缩放变换;观察对图像进行缩放或旋转时,图像是否会出现锯齿等不平滑现象?分析产生锯齿现象的原因;查阅文献了解解决锯齿现象的方法。〔例如平滑滤波、双线性插值、双立方插值等处理〕三、实验细节 1、实现图像的放大算法:为了实现图像的放大,首先将原图按照x1=a*x,y1=b*x将原图的像素点(x,y)映射为新的画布上的(x1,y1)点,如上图左一到左二。然后,以行或列为一个处理单位,采用一种图像插值算法,在两红点之间的空白点插入一些值,使图像充满整个画布。具体顺序如上图所示,先按行插值,再按列插值。本实验采用的插值算法要到达的目标是,使插入点的斜率与原图保持一致具体插值方法如下〔以宽度放大三倍为例〕:取出一行像素点,使时域坐标变为原来的三倍。假设两相邻像素点坐标分别为a[n]和a[m],那么在a[n+1]、a[n+2]、a[n+i]…a[m-1]处填入的灰度值为:过程如下:图①原图像的一行像素点图②使时域坐标变为原来的三倍插入的点插入的点图③在两点间插值,使新插入的点与原先的两点以同一斜率变化。2.实现图像的缩小: 假设要实现缩小,那么同样按照x1=ax,y1=by的坐标转换关系将原画布上的点映射到新画布上,那么新画布上的一点将成为原画布上多点的映射,此时,新画布的点只需取其中一个映射点即可。过程如下:运行结果:〔以行列均放大三倍为例〕①放大前的图像:②将图像的行列上的时域变为原来的三倍。③行插值:④列插值后〔完成〕:颗粒〔锯齿〕不明显颗粒〔锯齿〕不明显使用线性插值法假设使用临近插值法,将得到如下列图片,可见,在图中眼部的位置,临近插值法的锯齿更为明显,而使用本实验插值算法得到的图像边缘更为平滑。颗粒〔锯齿〕明显颗粒〔锯齿〕明显使用临近插值法图像缩小:〔以行列均缩小为1/2为例〕缩小缩小代码清单:clear;clf;pic=imread('image.jpg');k=2;%¾â³ÝÏû³ýϵÊý[l,w]=size(pic);pic(l+1,1)=0;pic(1,w+1)=0;l1=2*l;w1=2*w;i=1:l;x=ceil(i*l1/l);ii=1:w;y=ceil(ii*w1/w);fori=1:lforii=1:wa(ceil(i*l1/l),ceil(ii*w1/w))=pic(i,ii);end;end;fori=1:lforii=1:w-1n=(y(ii));m=(y(ii+1));foriii=1:m-n-1a(x(i),n+iii)=(a(x(i),m)-a(x(i),n))*iii/(m-n)+a(x(i),n);end;end;end;fori=1:w1forii=1:l-1n=(x(ii));m=(x(ii+1));foriii=1:m-n-1a(n+iii,i)=(a(m,i)-a(n,i))*iii/(m-n)+a(n,i);end;end;end;imshow(a);2.实现图片的旋转算法:根据坐标变换公式,可将旋转后坐标(x1,y1)映射到原坐标(x,y)x=x1*cos(b)-y1*sin(b)y=x1*sin(b)+y1*cos(b)由于求出来的原坐标不为整数,故将其取整,假设求得(x,y)坐标范围处于有效范围,即0<x≤l,0<y≤w,l为原图长度,w为原图宽度,那么(x1,y1)的灰度取为(x,y)的灰度值。 原图(x,y) 旋转后(x1,y1)如上图所示,从(x1,y1)出发回到原图寻找对应的(x,y)坐标,如果(x1,y1)对应的点(x,y)在原画布内,那么该点的灰度值取为最临近的整数点的灰度值,如图中黑线所示;否那么(x1,y1)取为空白点,如途中红线所示。运行结果:旋转后的图片旋转后的图片产生了锯齿程序清单:clear;clf;pic=imread('image1.jpg');[l,w]=size(pic);b=30;xx=[0,0,l,l];yy=[0,w,w,0];b=b*2*pi/360;x0=min(xx.*cos(b)-yy.*sin(b));y0=min(xx.*sin(b)+yy.*cos(b));x1=max(xx.*cos(b)-yy.*sin(b));y1=max(xx.*sin(b)+yy.*cos(b));forx=1:fix(x1-x0)+1fory=1:fix(y1-y0)+1a(x,y)=uint8(205);end;end;[l1,w1]=size(a);forx=1:l1fory=1:w1xt=floor(+x*cos(b)-y*sin(b)+l*sin(b)*sin(b));yt=floor(+x*sin(b)+y*cos(b)-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论