图像的旋转是不改变图像的灰度值的,这是将原始位置映射到新的位置。

[x1y11]=[x0y01]⋅⎡⎣⎢cosθ−sinθ0sinθcosθ0001⎤⎦⎥

\begin{bmatrix} x_1 & y_1& 1 \end{bmatrix}=\begin{bmatrix} x_0 & y_0 & 1 \end{bmatrix}\cdot \begin{bmatrix} \cos\theta & \sin\theta & 0\\ -\sin\theta & \cos\theta & 0\\ 0 & 0& 1 \end{bmatrix}

Image = imread('pout.tif');
[X,Y]=size(Image); imshow(Image);
Angle = pi/6;%计算四个角点的新坐标,确定旋转后的显示区域
LeftTop(1,1)=-(Y-1)*sin(Angle);
LeftTop(1,2)=(Y-1)*cos(Angle); LeftBottom(1,1)=0;
LeftBottom(1,2)=0; RightTop(1,1)=(X-1)*cos(Angle)-(Y-1)*sin(Angle);
RightTop(1,2)=(X-1)*sin(Angle)+(Y-1)*cos(Angle); RightBottom(1,1)=(X-1)*cos(Angle);
RightBottom(1,2)=(X-1)*sin(Angle); %计算显示区域的行列数
Xnew=max([LeftTop(1,1),LeftBottom(1,1),RightTop(1,1),RightBottom(1,1)])-min([LeftTop(1,1),LeftBottom(1,1),RightTop(1,1),RightBottom(1,1)]);
Ynew=max([LeftTop(1,2),LeftBottom(1,2),RightTop(1,2),RightBottom(1,2)])-min([LeftTop(1,2),LeftBottom(1,2),RightTop(1,2),RightBottom(1,2)]); % 分配新显示区域矩阵
ImageNew=zeros(round(Xnew),round(Ynew)); %计算原图像各像素的新坐标
for indexX=0:(X-1) for indexY=0:(Y-1) ImageNew(round(indexX*cos(Angle)-indexY*sin(Angle))+ ...round(abs(min([LeftTop(1,1),LeftBottom(1,1),RightTop(1,1),RightBottom(1,1)])))+1,1+round(indexX*sin(Angle)+indexY*cos(Angle))+round(abs(min([LeftTop(1,2),LeftBottom(1,2),RightTop(1,2),RightBottom(1,2)]))))=Image(indexX+1,indexY+1); end
end h=(ImageNew)/255;
h=medfilt2(h);
figure,imshow(h)
imwrite(h,'rotate.jpg','quality',100);

使用 matlab 数字图像处理(三)—— 实现图像的旋转(不使用 imrotate)相关推荐

  1. Matlab数字图像处理——图像的空间变换

    Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...

  2. matlab图像低通滤波器 实验报告,基于matlab数字图像处理之低通滤波器

    <基于matlab数字图像处理之低通滤波器>由会员分享,可在线阅读,更多相关<基于matlab数字图像处理之低通滤波器(6页珍藏版)>请在人人文库网上搜索. 1.实践一:理想低 ...

  3. Matlab数字图像处理——图像文件的读取

    文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...

  4. 实验1 matlab图像处理初步,实验一 MATLAB数字图像处理初步

    实验一 MATLAB数字图像处理初步 一.实验目的 1.熟悉及掌握在MATLAB中能够处理哪些格式图像. 2.熟练掌握在MATLAB中读取图像,并获取图像的大小.颜色.高度.宽度等等相关信息. 3.掌 ...

  5. MATLAB数字图像处理系统[多功能]

    MATLAB数字图像处理系统[多功能] 目录 实验一 MATLAB数字图像处理初步 实验二 图像的代数运算 实验三 图像增强-空间滤波 实验四 图像分割 2 实验一 MATLAB数字图像处理初步 一. ...

  6. MATLAB数字图像处理系统-形状分类

    MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...

  7. MATLAB 数字图像处理GUI二值图像实验

    电信19-2 翁大弟 摘要 图像信息是人类获取信息的重要来源及利用信息的重要手段,数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展:二是广泛的农牧业.环境.军事.工业等方面的应用需求 ...

  8. MATLAB数字图像处理复习概览

    MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...

  9. Win8 Metro(C#)数字图像处理--2.52图像K均值聚类

    原文:Win8 Metro(C#)数字图像处理--2.52图像K均值聚类  [函数名称] 图像KMeans聚类      KMeansCluster(WriteableBitmap src,int ...

  10. 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识

    本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...

最新文章

  1. GNS3模拟VPC注意几点
  2. 一次线上生产问题的全面复盘 【定位-分析-解决】
  3. Python练习题:合并列表和列表排序
  4. Oracle Spatial 翻译第一漳
  5. IBASE deletion timestamp verification
  6. 计算机硬件系统一直延用,会计从业资格证考试:会计电算化计算机硬件系统
  7. 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
  8. 58天 -算法 openJudge百炼 2787-凑24 - 递归
  9. 高速的二舍八入三七作五_北京高速公路恢复收费,相关负责人回应收费新政三大热点问题...
  10. WPF仿微软事件和属性窗体,效果更炫!
  11. BZOJ1196 [HNOI2006]公路修建问题 【二分 + Kruskal】
  12. Oracle 11g下载及安装
  13. Element-UI下拉框el-select实现拼音搜索
  14. 计算机太极图怎么设计,AI绘制太极图两种方法介绍
  15. Week15 实验 B - ZJM 的本领 CodeForces - 499A
  16. 牛人整理的一些查询国内外文献资料的实用网站,专业啊,吐血推荐!
  17. 混沌麻雀搜索优化算法-附代码
  18. 浏览器是如何渲染页面的?
  19. ECharts 地图绘制
  20. SSD模型(论文大致内容)

热门文章

  1. android优化大师下载最新版,安卓优化大师(正式版)
  2. 2022年汽车修理工(中级)上岗证题库及答案
  3. esxi安装系统ndows,ESXI 安装 Windows Server 2012过程
  4. java中null字符串与字符串长度为0的区别
  5. 嵌入式软件硬件比例_嵌入式软件硬件常识
  6. 日常生活开支记账明细_你的理财小管家!简单明了!皮面理财记账本明细流水支出笔记本!...
  7. 日常生活记账,如何将所有账目打印
  8. 2020网易游戏测试面试二面面经(上海春招)
  9. PLC梯形图设计全自动洗衣机S7-1200博途以及PLC仿真实现之 1. 创建新工程
  10. 41款非常有创意的卡通图标大全可爱