`
wangxiaohigh
  • 浏览: 1458064 次
文章分类
社区版块
存档分类
最新评论

图形图像必须知道的事(一):几何变换

 
阅读更多

作者:mznewfacer(Wolf Geek) 时间:20111130日 欢迎转载 ,请注明出处!

这两天又不能安生了,得写论文,好吧,先把arduino断下来,似乎我同时只能干一件事,严重怀疑自己的智商!顺便写一些基础总结吧,已备后用。可能会比较枯燥,但是必须强调的是这些都是图形图像方面的数学基础,不可忽视啊!

先看几个变换公式:



至此,二维平面上的所有变换集合就已叙述完毕,具体形式如下图所示。


对于三维图像而言,对应的变换矩阵就变为四阶矩阵。




这就是初始化坐标系,对应的4阶齐次矩阵为四阶单位阵。


在此坐标系上画点[0.5 ; 0.5 ; 0.5],之后在Oxy平面上做投影,所得结果如下图所示:


此时变换矩阵为


之后将坐标系绕z轴旋转45度并且在y轴方向上平移1.5个刻度,变换矩阵为


最后连续绕x轴,y轴,z轴分别旋转45度,得到结果如下图所示:


变换矩阵可以由此推得:


至于为什么引入齐次坐标系,这里就不做多余解释,详情可见这里

最后用opengl画一下类似的坐标系变换,

效果图

至于opengl的具体坐标系转换,像是世界坐标系到观察坐标系的转换,如何利用GL_PROJECTION投影矩阵将3维投影到2维上,投影时选择glFrustum()还是glOrtho(),以及各个变换的具体原理,Song Ho Ahn的博客中已经写得相当详细,里面有两个例子也很不错。理论部分例子部分


分享到:
评论

相关推荐

    数字图像处理matlab——图像的几何变换(matlab源文件及训练文件)

    常见的数字图像的几何变换包括平移、镜像、旋转、缩放和错切等,是图像处理软件必须具备的操作手段。本次实验的目的是要求掌握各种变换的基本原理和方法,能够运用Matlab编写程序,实现这些变换。其中,由于变化产生...

    图像处理 MFC 几何变换

    在图像处理领域,几何变换是不可或缺的一部分,它主要用于改变图像的位置、大小、形状或方向,以适应不同的应用场景或实现特定的视觉效果。本项目聚焦于使用Microsoft Foundation Classes (MFC)库在Visual Studio ...

    图像的几何变换

    进行图像几何变换时,通常会先分析图像特点,例如图像的尺寸、分辨率和色彩模式,以确定合适的变换方法。在MATLAB中,可以使用`imresize`进行图像缩放,`flipud`和`fliplr`进行上下或左右镜像,`rot90`进行图像转置...

    二维图形几何变换算法

     图像几何变换的实质:改变像素的空间位置,估算新空间位置上的像素值。  图像几何变换的一般表达式:[,][(,),(,)]uvXxyYxy ,其中,[,]uv为变换后图像像素的笛卡尔坐标, [,]xy为原始图像中像素的笛卡尔坐标。...

    二维基本图形几何变换算法(用VC++实现)

    首先,让我们详细探讨每一种几何变换: 1. **平移(Translation)**:平移是指将图形沿x、y轴方向移动一定的距离。在二维空间中,可以通过一个包含三个元素的向量来表示平移量,这个向量可以加到图形的每一个顶点...

    计算机图形学图象几何变换

    在计算机图形学中,图像几何变换是不可或缺的基础概念和技术,它涉及到图像在二维或三维空间中的位置、形状和大小的变化。这篇文档将深入探讨图像几何变换的原理、方法以及在三维图形中的应用。 首先,我们要理解...

    MATLAB实现图像的几何变换(包含水平镜像、垂直错切、旋转和加倍)

    本资源提供的MATLAB代码实现了四种基本的几何变换:水平镜像、垂直错切、旋转和加倍。下面我们将详细探讨这些知识点。 首先,**水平镜像**是通过沿着图像的垂直轴翻转图像来实现的。这种变换在许多应用中都很常见,...

    图象处理实验报告 图像的几何变换包括图像的缩放、平移和旋转。

    在图像处理领域,几何变换是图像分析和处理中的基本操作,用于改变图像的形状和位置。本实验报告主要探讨了图像的几何变换,包括图像的缩放、平移和旋转,以及图像的正交变换,如傅里叶变换和离散变换。此外,还涉及...

    图像的几何变换(平移,镜像,缩放,旋转等)

    本主题将深入探讨四种基本的几何变换:平移、镜像、缩放和旋转,并通过源码的形式来理解这些操作的实现。 1. **平移(Translation)** 平移是最简单的几何变换,它涉及到图像在二维空间中的移动而不改变其形状或...

    图像的几何变换包括仿射变换等

    图像的几何变换是数字图像处理中的重要组成部分,它主要涉及图像在二维空间中的位置和形状的调整。在图像处理和计算机视觉领域,我们经常需要对图像进行各种几何操作,以便纠正图像失真、适应不同的显示设备或者进行...

    图像处理,几何图像的变换

    - 图像拼接:在全景图制作中,不同图片间的几何变换是关键步骤。 - 物体跟踪:通过几何变换预测物体的运动轨迹。 在编程实现上,这些变换通常用矩阵运算来表达,因为它们都可以表示为线性变换矩阵的乘积。例如,...

    数字图像处理使用matlab进行几何变换

    在MATLAB中,我们可以使用以下函数进行几何变换: 1. `imtranslate`:用于执行平移操作。该函数接受图像和一个包含两个元素的向量,分别表示在x轴和y轴上的位移量。 2. `imrotate`:实现图像的旋转。参数包括图像...

    计算机图形学-二维几何变换

    在二维几何变换中,我们关注的是如何通过数学运算来改变图形的位置、大小、形状和方向,以实现图像的平移、旋转、缩放、镜像反射等效果。这些变换在游戏开发、图像处理、动画制作、用户界面设计等诸多领域都有广泛的...

    图像几何变换(C++)代码(平移、镜像、转置、缩放、旋转)

    本主题将深入探讨C++实现的几种基本图像几何变换:平移、镜像、转置、缩放和旋转。这些操作对于图像分析、图像配准、图像增强等应用至关重要。 1. **平移(Translation)**: 平移是将图像在二维空间中沿着x轴和y...

    c++图像处理几何变换

    在C++中进行图像处理,几何变换是一项关键的技术。这些变换包括旋转、缩放和平移,它们在图像分析、计算机视觉以及图形用户界面设计等领域有着广泛应用。本篇将深入探讨如何利用C++来实现这些几何变换,并涉及形状的...

    音视频资料-图像仿射变换原理2:矩阵变换、线性变换和图像线性变换矩阵.rar

    在图像处理领域,仿射变换是一种重要的几何变换方法,它广泛应用于图像的旋转、缩放、平移和倾斜等操作。本资料包“音视频资料-图像仿射变换原理2:矩阵变换、线性变换和图像线性变换矩阵”深入探讨了这一主题,主要...

    几何变换 图像平移 水平镜像 垂直镜像 图像转置 图像缩小 图像放大 图像旋转.rar

    在计算机图形学中,几何变换是一种重要的操作,用于改变图像的位置、大小、形状或方向。在给定的压缩包文件中,包含了一系列关于几何变换的实际应用示例,这些示例在VS2017环境下已经编译通过并可以直接运行。让我们...

    案例11-二维图形几何变换算法.rar_二维几何变换_二维图形几何变换_二维图形变换_几何变换_几何图形

    在计算机图形学中,二维几何变换是至关重要的一个领域,它涉及到如何在平面上改变图形的位置、大小和形状。这个主题通常与编程语言如C++相结合,用于创建复杂的图形应用程序。"案例11-二维图形几何变换算法.rar"很...

    bmp图像几何变换数字图像处理

    在计算机视觉和数字图像处理领域,几何变换是至关重要的技术之一。本项目通过VC++编程语言实现对BMP图像的几何变换,包括180度旋转、平移等操作,这些变换有助于理解和处理图像的不同应用场景,如图像校正、目标识别...

Global site tag (gtag.js) - Google Analytics