Matlab中完成图像旋转(坐标旋转)
Matlab中完成图像旋转(坐标旋转)
通过极坐标的转化,将点阵进行旋转,得到旋转后点阵的坐标并绘制出来,以下为代码。
y=xlsread("D:\temp\meigu\tianran\unit_coordinates - 副本.csv","unit_coordinates - 副本","C1:C4139");
x=xlsread("D:\temp\meigu\tianran\unit_coordinates - 副本.csv","unit_coordinates - 副本","B1:B4139");
plot(x,y,"*")
for i=1:length(x)z(i)=y(i)/x(i); %正切值,也是角度a(i)=sqrt(x(i)^2+y(i)^2); %极径if y(i)>=0&x(i)>=0z_1(i)=atan(z(i))*180/pi; %tan的值总取在-pi/2到pi/2之间,所以二三象限的角度需要用一四象限的角度表示endif y(i)>=0&x(i)<0z_1(i)=atan(z(i))*180/pi+180;endif y(i)<0&x(i)<=0z_1(i)=atan(z(i))*180/pi+180;endif y(i)<0&x(i)>0z_1(i)=atan(z(i))*180/pi;end
end
for i =1:length(x)x2(i)=a(i)*cos(z_1(i)*pi/180-pi/4);y2(i)=a(i)*sin(z_1(i)*pi/180-pi/4);
end
%hold on;
figure;
plot(x2,y2,"*r")
大致思路如下:
- 首先读取坐标点(分别读取x、y坐标)
- 遍历坐标中元素,z(i)表示某个坐标的正切值,a(i)表示极坐标中点到原点的距离,也就是极径。
- 接下来判断该点在坐标系的哪一个区域中,不同趋于的点要进行不同的变换。
由于tan的值总取在-pi/2到pi/2之间,所以二三象限的角度需要用一四象限的角度表示
①第一象限(y(i)>=0&x(i)>=0
):将弧度转化为角度即可
②第二象限(y(i)>=0&x(i)<0
):将弧度转化为角度,再加180°转化到第四象限
③第三象限(y(i)<0&x(i)<=0
):将弧度转化为角度,再加180°转化到第一象限
④第四象限(y(i)<0&x(i)>0
):将弧度转化为角度即可 - 将每一个坐标极径与余弦(顺时针旋转pi/4角度后)得到旋转后的横坐标。
x2(i)=a(i)*cos(z_1(i)*pi/180-pi/4)
- 将每一个坐标极径与正弦(顺时针旋转pi/4角度后)得到旋转后的纵坐标。
y2(i)=a(i)*sin(z_1(i)*pi/180-pi/4)
综上就完成了坐标旋转的效果
Matlab中完成图像旋转(坐标旋转)相关推荐
- matlab三维 旋转矩阵,matlab中的三维坐标系与旋转
1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...
- matlab中的图像类型
MATLAB中的图像类型 在MATLAB中数组是最基本的数据结构,大部分图像用二维 数组即矩阵表示,矩阵中的一个元素对应一个像素.例如,一个由500行600列不同颜色点组成的图像可以用500*600的 ...
- matlab中的图像转换
matlab中的图像转换包括两个层面的内容,首先是不同图像文件格式之间的转换(例如将BMP格式转换为PNG格式,这里可以由imwrite()函数实现,具体参见):其次是matlab中不同图像存储形式之 ...
- Matlab中消除图像噪声之中值滤波器:medfilt2
Matlab中消除图像噪声之中值滤波器:medfilt2 medfilt2, matlab, 消除噪声, 中值滤波器, 椒盐噪声 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一 ...
- MATLAB中的图像融合
下面来介绍一下如何在MATLAB中实现图像的融合,具体原理及步骤如下: 图像融合:图像融合是指将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术等,最大限度的提取各自信道中的有利信息, ...
- 在matlab中以图像中心为旋转轴逆时针旋转30度自编程序,MATLAB数学建模习题
MATLAB数学建模习题1 一.单项选择题(将选择答案写在答题纸上,每小题2分共20分) 1.在MATLAB命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数 如果省 ...
- matlab中给图像加几个矩形框_在图像中画矩形框(matlab)
参考代码:https://github.com/cuijiaxun/FaceRecognitionByMatlab 中的LabelDetectWindow.m 在目标检测的时候,一般都需要用矩形框圈出 ...
- matlab中的图像,MATLAB中图像的基本操作
MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A= imread(f ...
- MATLAB中实现图像的空间域滤波和频率域滤波
1. 空间域滤波 空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值.主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器.平滑可通过低通来实现,平滑的目的有 ...
最新文章
- MySQL外键设置中的的 Cascade、Restrict、SET NULL 、NO ACTION
- 客户端,服务器,天气预报
- 基于weblogic 的EJB 学习笔记-JSP教程,资料/其它
- SAP Spartacus split view里每个元素宽度的计算方式
- du -sh 如何找到最大的文件夹_小白必看!手把手教你如何在linux上安装redis数据库...
- 关于如何学好前端开发,你需要知道的事!
- 应用程序拒绝访问_让你的ASP.NET Core应用程序更安全
- 你的广告能打几分?Kaggle需求预测挑战赛冠军方案这样做丨教程
- python免费课程400节-Python2 教程
- 苹果cms V10模板|首涂第二十五套精简宽屏主题模板破解带后台无加密版
- 遥感原理与应用网络课程学习
- 游戏毕业设计参考文献合集
- word下载哪一个比较好
- C# 之 带你玩转命令行版《2048》 -- 附源码分享
- java有阴历年算法吗_中国农历算法java实现
- 虚拟机中安装vmtools工具的命令和相关问题解析
- erlang使用c语言开发的吗,Erlang语言作者告诉你什么才是编程最好的方法
- npm‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
- 苹果侧边滑动返回_一个丝滑的全屏滑动返回手势
- 建筑信息化模型BIM经典《BIM Handbook》中文翻译第一章第二节(持续更新)