`

[转]矩阵的学习<3>

阅读更多

如果图像围绕着某个点P(a,b)旋转,则先要将坐标系平移到该点,再进行旋转,然后将旋转后的图像平移回到原来的坐标原点。

我们需要3步:

  1. 平移——将坐标系平移到点P(a,b);
  2. 旋转——以原点为中心旋转图像;
  3. 平移——将旋转后的图像平移回到原来的坐标原点;

相比较前面说的图像的几何变化(基本的图像几何变化),这里需要平移——旋转——平移,这种需要多种图像的几何变化就叫做图像的复合变化

设对给定的图像依次进行了基本变化F1、F2、F3…..、Fn,它们的变化矩阵分别为T1、T2、T3…..、Tn,图像复合变化的矩阵T可以表示为:T = TnTn-1…T1。

按照上面的原则,围绕着某个点(a,b)旋转θ的变化矩阵序列是:

Composite Change Matrix

按照上面的公式,我们列举一个简单的例子:围绕(100,100)旋转30度(sin 30 = 0.5 ,cos 30 = 0.866)
float f[]= { 0.866F,  -0.5F, 63.4F,0.5F, 0.866F,-36.6F,0.0F,    0.0F,  1.0F };
matrix = new Matrix();
matrix.setValues(f);
旋转后的图像如下:

Rotate-100-100-Android

Android为我们提供了更加简单的方法,如下:
Matrix matrix = new Matrix();
matrix.setRotate(30,100,100);
矩阵运行后的实际结果:
Rotate-30-100-100-Matrix
与我们前面通过公式获取得到的矩阵完全一样。

在这里我们提供另外一种方法,也可以达到同样的效果:
float a = 100.0F,b = 100.0F;
matrix = new Matrix();
matrix.setTranslate(a,b);
matrix.preRotate(30);
matrix.preTranslate(-a,-b);
将在后面的篇幅中为大家详细解析

通过类似的方法,我们还可以得到:相对点P(a,b)的比例[sx,sy]变化矩阵

P(a,b)-Scale

分享到:
评论

相关推荐

    智能控制及其MATLAB实现2005李国勇编著.part3.rar

    2.9 MATLAB神经网络工具箱的图形用户界面&lt;br&gt; 第3章 基于Simulink的神经网络控制系统&lt;br&gt; 3.1 基于Simulink的神经网络模块&lt;br&gt; 3.1.1 模块的设置&lt;br&gt; 3.1.2 模块的生成&lt;br&gt; 3.2 基于Simulink的三种典型神经网络...

    数据结构(C++)有关练习题

    &lt;br&gt;4、用邻接矩阵或邻接图实现一个有向图的存储,并实现单源最短路径算法的实现(这个类的一个成员函数),并能输出该图的关键路径。&lt;br&gt;注:1、要用面向对象的方法设计代码;&lt;br&gt;2、一个图是一个类的实例;&lt;br&gt;3、类...

    feature:我正在学习这门课程

    dx,dy,相atan dy / dy atan dx / dy 轮廓侦探与pom.xml依赖的Maven使用&lt;dependency&gt; &lt;groupId&gt;one.empty3&lt;/groupId&gt; &lt;artifactId&gt;feature&lt;/artifactId&gt; &lt;version&gt;2020.4.4&lt;/version&gt;&lt;/depen

    ml:简单数学库

    平面和直线: plane , line&lt;T&gt; (具有3d和4d线create_line line3, line4专门知识)和create_line用于获得通过两个点的线 特殊矩阵,例如投影,平移,缩放和旋转:命名空间matrices 方便的名字定点类型从组成数字...

    C#本人开发的彩票旋转矩阵选号杀号王双色球专用版1.5

    本人经过几年的努力,终于掌握了C#的编程,与同学一起开发了这套软件。与各位网友共勉。 1.5版正式推出!主要修正了(以下都是重大问题所以应及时更新,对给您造成的不便,本...6、学习容易,帮助文档详尽,上手极快。

    基于numpy矩阵运算实现的,卡尔曼滤波器的实现 内附原理及说明python源码+文档说明

    &lt;项目介绍&gt; 基于numpy矩阵运算实现的,卡尔曼滤波器的实现。内附原理及说明python源码+文档说明 卡尔曼滤波器的实现。内附原理及说明。基于numpy矩阵运算。 说明 对于一个线性系统的状态差分方程为 $$x_k = A * x_{...

    MATLAB读取图像,并转换为灰度矩阵,使用MATLAB的edge函数检测边缘并显示结果(附详细操作步骤).txt

    通过这个例子,您可以学习如何读取图像文件、操作矩阵以及使用MATLAB的边缘检测函数。这些功能可以应用于各种图像处理任务,例如: - 图像增强:调整图像的亮度、对比度或饱和度,以改善图像质量或突出特定特征。 -...

    Python3 列表,数组,矩阵的相互转换的方法示例

    主要介绍了Python3 列表,数组,矩阵的相互转换的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    gmm的matlab代码-tMKL:静止状态动力学符合解剖结构:时态多核学习(tMKL)模型

    &lt;tMKL&gt;/CODE/main_script.m 目录说明 CODE-包含脚本和函数 main_script.m-运行tMKL的主脚本 get_train_struct.m-wFC生成,矢量化wFC,频谱嵌入-投影到流形,GMM-将wFC分配给状态 run_tMKL.m-为每个州运行MKL模型 ...

    opencv学习资料

    1.2.4 (4) 视频处理例程(在 &lt;opencv-root&gt;/samples/c/): 1.2.5 (5) 图像处理例程 (在 &lt;opencv-root&gt;/samples/c/): 1.3 3、OpenCV 命名规则 1.3.1 (1) 函数名: 1.3.2 (2) 矩阵数据类型: 1.3.3 (3) ...

    AI学习知识点.xmind

    3. 机器学习 机器学习 理论概述 督导学习 逻辑回归 Softmax分类 条件随机场 支持向量机svm 决策树 随机森林 GBDT 集成学习 非督导学习 高斯混合模型 聚类 PCA 密度估计 LDA 双聚类 降维算法 LSI...

    OpenGl实验报告.doc

    实验目的与要求 1、学习和掌握OpenGL的使用 2、掌握矩阵堆栈的实现方法 3、根据自己的创意实现实验内容,进一步掌握和理解OpenGL的使用 2. 实验内容 1、请编写地球围绕太阳自动旋转的方式 2、请再加上一个月亮, 并...

    机器学习-深度学习

    转到应用程序数据&gt;&gt;本地&gt;&gt;程序&gt;&gt; python &gt;&gt;脚本 在该位置打开CMD pip insatll jupyter 安装后写jupyter笔记本 使用Google Colab 去合作 在colab中启动新的Notebook导入文件 from google.colab import files ...

    人工智能深度学习入门视频课程.rar

    3-3矩阵向量转换mp4 34向最反变换mp4 3-5完成前向传播模块mp4 3-6损失函数定义mp4 3-7准备反向传播迭代mp4 3-8差异项计算mp4 3-9逐层计算mp4 3-10完成全部选代更新模块mp4 3-11手写字体识别数据集mp4 312算法代码...

    OpenCV_编程简介(入门必读)

    1.2.4 (4) 视频处理例程(在 &lt;opencv-root&gt;/samples/c/): 1.2.5 (5) 图像处理例程 (在 &lt;opencv-root&gt;/samples/c/): 1.3 3、OpenCV 命名规则 1.3.1 (1) 函数名: 1.3.2 (2) 矩阵数据类型: 1.3.3 (3) ...

    VC++和OpenGL的3D魔方设计完整学习研究程序代码【计算机课程作业/毕设】

    VC++和OpenGL的3D魔方设计是一种基于图形学和计算机视觉的技术,旨在实现一个...这部分操作可以使用OpenGL的矩阵变换函数来实现。 第五步,用户交互。在3D魔方设计中,需要实现用户交互,比如鼠标点击、键盘输入等等。

    10个Python 初学者必知编码小技巧

    技巧 #1 字符串翻转 &gt;&gt;&gt; a = codementor &gt;&gt;&gt; print Reverse is,a[::-1] 翻转后的结果为 rotnemedoc  PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃...&gt;&gt;&gt; mat = [[1, 2, 3

    欧姆社学习漫画 漫画统计学之因子分析

    3.样本容量的标准 4.随机抽样和定向抽样 5.定量调查和定性调查 6.数据分析的搭配方法 第2章 调查问卷和问题 1.调查问卷的构成 2.问题的分类 3.应当避免的问题 4.应当避免的问题(续) 5.“中值”的存在性 第3章 ...

Global site tag (gtag.js) - Google Analytics