- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB几何变换实验报告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)=h pix(2)=w
imgn(i+delta_y,j+delta_x)=img(round(pix(1)),round(pix(2)));
end
end
end
subplot(1,2,2),imshow(uint8(imgn)),title(最近邻插值法旋转后的图片)
case 2
for i=1-delta_y:height-delta_y
for j=1-delta_x:width-delta_x
pix=[i j 1]/rot/py;
%用变换后图像的点的坐标去寻找原图像点的坐标,
%否则有些变换后的图像的像素点无法完全填充
float_Y=pix(1)-floor(pix(1));
float_X=pix(2)-floor(pix(2));
if pix(1)=1 pix(2)=1 pix(1) = h pix(2) = w
pix_up_left=[floor(pix(1)) floor(pix(2))];%四个相邻的点
pix_up_right=[floor(pix(1)) ceil(pix(2))];
pix_down_left=[ceil(pix(1)) floor(pix(2))];
pix_down_right=[ceil(pix(1)) ceil
您可能关注的文档
- LED电源市场分析LED电源市场分析.doc
- linux date命令详解linux date命令详解.doc
- linux(Red Hat)NTP时间同步的配置方法linux(Red Hat)NTP时间同步的配置方法.doc
- linux_NTP配置方法linux_NTP配置方法.doc
- Linux操作系统-基本实验大纲-11Linux操作系统-基本实验大纲-11.doc
- Linux操作系统基础命令实验二Linux操作系统基础命令实验二.doc
- LinuX操作系统实验二6LinuX操作系统实验二6.doc
- JT银行宁夏分行会计业务操作风险探析(任务书、开题报告)JT银行宁夏分行会计业务操作风险探析(任务书、开题报告).doc
- Linux操作系统实验报告 存储管理试验Linux操作系统实验报告 存储管理试验.doc
- linux操作系统实验linux下用户与组的管理linux操作系统实验linux下用户与组的管理.doc
- matlab符号运算实验报告matlab符号运算实验报告.doc
- MATLAB实验报告实验五MATLAB实验报告实验五.doc
- MBR的分类及应用MBR的分类及应用.doc
- MIDAS悬索桥分析功能使用说明MIDAS悬索桥分析功能使用说明.doc
- Module1-Module3综合测试题Module1-Module3综合测试题.doc
- Msmzwy汉语言文学毕业论文Msmzwy汉语言文学毕业论文.doc
- MSR系列路由器IPSec over GRE + OSPF功能的配置MSR系列路由器IPSec over GRE + OSPF功能的配置.doc
- NA 2012高考第二轮专题复习 阿伏伽德罗常数NA 2012高考第二轮专题复习 阿伏伽德罗常数.doc
- NBCORS网络RTK测量技术规定(试行)NBCORS网络RTK测量技术规定(试行).doc
- MPLS-TE快速重路由命令手册(FRR)MPLS-TE快速重路由命令手册(FRR).doc
文档评论(0)