MATLAB几何变换实验报告

本文由用户“wudreams”分享发布 更新时间:2020-12-30 19:35:19 举报文档

以下为《MATLAB几何变换实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

作业二 几何变换

一、编写一个函数,实现将一幅图像旋转一定角度,以该图像中心点为旋转点。分别使用三种插值方法。

原理:

平移变换:

x = u + δx

y = v + δy



旋转变换:

x = ucosθ - vsinθ

y = usinθ + vcosθ



2、源码:

function wchy1(I,jiaodu,wchy)

%用三种插值方法实现将一幅图像旋转一定角度

%I:待处理图片名称

%jiaodu:要旋转的角度,旋转方向为顺时针

%wchy:插值方法,1代表最近邻插值,2代表双线性插值,3代表三次内插法

img=imread(I);

figure,subplot(1,2,1);

imshow(img),title('原图');

[h,w]=size(img);

theta=jiaodu/180*pi;

py=[1 0 w/2;0 1 h/2;0 0 1];

rot=[cos(theta) -sin(theta) 0;sin(theta) cos(theta) 0;0 0 1];

pix1=[1 1 1]*py*rot;%变换后图像左上点的坐标

pix2=[1 w 1]*py*rot;%变换后图像右上点的坐标

pix3=[h 1 1]*py*rot;%变换后图像左下点的坐标

pix4=[h w 1]*py*rot;%变换后图像右下点的坐标

height=round(max([abs(pix1(1)-pix4(1))+0.5 abs(pix2(1)-pix3(1))+0.5]));%变换后图像的高度

width=round(max([abs(pix1(2)-pix4(2))+0.5 abs(pix2(2)-pix3(2))+0.5]));%变换后图像的宽度

imgn=zeros(height,width);

delta_y=abs(min([pix1(1) pix2(1) pix3(1) pix4(1)]));%取得y方向的负轴超出的偏移量

delta_x=abs(min([pix1(2) pix2(2) pix3(2) pix4(2)]));%取得x方向的负轴超出的偏移量

switch wchy

case 1

for i=1-delta_y:height-delta_y

for j=1-delta_x:width-delta_x

pix=[i j 1]/rot/py;

%用变换后图像的点的坐标去寻找原图像点的坐标,否则有些变换后的图像的像素点无法完全填充

if pix(1)>=1 && pix(2)>=1 && pix(1)请点击下方选择您需要的文档下载。

  1. The_Necklace_Guy_de_Maupassant
  2. 金融危机预测的分析网络过程模型
  3. “新型冠状病毒”高考英语试题(1)
  4. 50XX文经典句
  5. 必修2Unit1教学设计
  6. 必修一 Unit5 Nelson Mandela-Warming up&Reading[课件]
  7. Unit5 musi教案liyang
  8. Nelson Mandel课件3
  9. Unit 3 Look at me! Part B Let's learn教案
  10. A42221Northwestern Polytechnical University, China
  11. 电子商务是干什么的
  12. dunyadan-ilginc-haberler003
  13. Compression strength of stainless steel cross-sect
  14. Principles+of+Psychotherapy
  15. 外文翻译 肖宇某某
  16. Python and HDF5
  17. Do What Makes You Great
  18. 索马鲁肽
  19. Cooling Relief of Acute and Chronic Itch Requires
  20. MATLAB几何变换实验报告

以上为《MATLAB几何变换实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览