透视投影变换中椭圆中心畸变误差模型及其

透视投影变换中椭圆中心畸变误差模型及其
透视投影变换中椭圆中心畸变误差模型及其

图像畸变校正

数字音视频处理大作业(一) 题目:图像畸变校正 班级:021212 学号:02121128 姓名:文威威

目录 第一章图像畸变概述.................................. - 1 - 第一节图像畸变的概念........................... - 1 - 第二节图像畸变形成原因......................... - 1 - 第二章通过算法去除图像畸变.......................... - 2 - 第一节引言..................................... - 2 - 第二节基于网格图像的图像畸变修正............... - 2 - 第三节基于现场定标的图像畸变校正............... - 3 - 第四节基于畸变等效曲面的图像畸变校正 ........... - 3 -

第一章图像畸变概述 第一节图像畸变的概念 图像畸变是指成像过程中所产生的图像像元的几何位置相对于参照系统(地面实际位置或地形图)发生的挤压、伸展、偏移和扭曲等变形,使图像的几何位置、尺寸、形状、方位等发生改变。 第二节图像畸变形成原因 造成图像畸变的原因包括:传感器性能误差,如摄像机的焦距变动、像主点偏移、镜头光学畸变、多光谱扫描仪扫描速度的非线性、扫描线首尾点成像的时间差引起的扫描线偏斜、采样和记录速度不均匀等;成像时的透视误差,如遥感成像系统投影方式主要有中心投影(摄像机)、斜距投影(侧视雷达)、全景投影(多光谱扫描)和多中心投影(胶带摄影机)等。除框幅式中心投影外,其它的投影方式都产生不同类型的畸变;飞行器姿态变化引起图像平移、旋转、扭曲和缩放;地球自转对扫描图像的影响;地形和地物高度变化,引起像点位移和比例尺改变;地球曲率的影响;大气折射,改变了光的传播方向、路径和雷达波的传播时间。

(推荐)投影坐标转换

第二节 平面坐标基准转换 由于海上和陆地上在测量时,使用不同的坐标系和不同参考椭球,而且采用的投影也不同,使得我们获得的数据不统一,必须进行坐标转换。 §3·2·1 欧拉角 设有两个空间直角坐标系,分别为O-XYZ 和O-X 'Y 'Z ',为了便于讨论其相应坐标轴间的变换,设其原点相同如图所示,选择εx 、y ε、z ε为欧拉角,又称旋转参数,经过三次旋转,使两个坐标系重合,既:(图见下页A ) 首先,绕O Z '轴,将O X '轴旋转到OX 0轴,所转的角为z ε; 其次,绕OY 0轴,将O Z '轴旋转到OZ 0轴,所转的角为y ε; 最后,绕OX 轴,将O Z 0轴旋转到OZ 轴,所转的角为εx ; Z Z 0 Z ' X ' O X 0 X Y 0 Y Y ' 图A 因此有 X X ' Y = R 1(εx )R 2(y ε)R 3(z ε) Y '

Z Z ' 式中 R 1(εx )、R 2(y ε)、R 3(z ε)为旋转矩阵,其表达式在ε、y ε、z ε很小时可以最终表示为: X 1 z ε y ε X '

Y = -z ε 1 εx Y ' 公式1 Z y ε - εx 1 Z ' §3·2·2 不同三维空间直角坐标系的变换模型 GPS 测量的WGS —84属地心坐标系,而1980年国家大地坐标系和1954年北京坐标系属参心坐标系,他们所对应得空间直角坐标系是不同的,这里将讨论不同空间直角坐标系的变换模型。 如图B 两个空间直角坐标系分别为O-XYZ 和O '-X 'Y 'Z ',其坐标系原点不同则存在三个平移参数?X 0、?Y 0、?Z 0,他们表示O '- X 'Y 'Z '坐标系原点O '相对于O-XYZ 坐标系原点O 在三个坐标轴上的分量;又当各坐标轴相互不平行时,既存在三个旋转参数εx 、y ε、z ε。 Z O X Y ' O Y X 考虑到两个坐标系的平移和旋转以及尺度参数可得公式如下: X X ' 1 z ε y ε X ' Y =(1+m ) Y ' -z ε 1 εx Y ' Z Z ' y ε - εx 1 Z ' ?X 0 + ?Y 0 公式一

3度6度带高斯投影详解.

3度6度带高斯投影 选择投影的目的在于使所选投影的性质、特点适合于地图的用途,同时考虑地图在图廓范围内变形较小而且变形分布均匀。海域使用的地图多采用保角投影,因其能保持方位角度的正确。 我国的基本比例尺地形图(1:5千,1:1万,1:2.5万,1:5万,1:10万,1:25万,1:50万,1:100万)中,大于等于50万的均采用高斯-克吕格投影(Gauss-Kruger),这是一个等角横切椭圆柱投影,又叫横轴墨卡托投影(Transverse Mercator);小于50万的地形图采用等角正轴割园锥投影,又叫兰勃特投影(Lambert Conformal Conic);海上小于50万的地形图多用等角正轴圆柱投影,又叫墨卡托投影(Mercator)。一般应该采用与我国基本比例尺地形图系列一致的地图投影系统。 地图坐标系由大地基准面和地图投影确定,大地基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的大地基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的IAG 75地球椭球体建立了我国新的大地坐标系--西安80坐标系,目前GPS定位所得出的结果都属于WGS84坐标系统,WGS84基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心的坐标系。因此相对同一地理位置,不同的大地基准面,它们的经纬度坐标是有差异的。 采用的3个椭球体参数如下(源自“全球定位系统测量规范 GB/T 8314-2001”): 椭球体与大地基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky

图像畸变校正程序一

图像畸变校正OPENCV 使用USB摄像头,采集一副图像,然后对图像畸变校正。摄像头事先标定好 #include "cv.h" #include "highgui.h" #include "cxcore.h" #include "cvcam.h" //图像的像素直接提取 #define _I(img,x,y) ((unsigned char*)((img)->imageData + (img)->widthStep*(y)))[(x)] //亚像素级灰度值 #define _IF(image,x,y) ( ((int)(x+1)-(x))*((int)(y+1)-(y))*_I((image),(int)(x),(int)(y)) + ((int )(x+1)-(x))*((y)-(int)(y))*_I((image),(int)(x),(int)(y+1)) + ((x)-(int)(x))*((int)(y+1)-(y))*_I((imag e),(int)(x+1),(int)(y)) + ((x)-(int)(x))*((y)-(int)(y))*_I((image),(int)(x+1),(int)(y+1)) )//插值后的像素值(IN表示interpolation),x、y可以为小数 void callback(IplImage* image); void main() { int ncams = cvcamGetCamerasCount( );//返回可以访问的摄像头数目 HWND mywin; cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE); cvcamSetProperty(0, CVCAM_PROP_RENDER, CVCAMTRUE); mywin = (HWND)cvGetWindowHandle("cvcam window"); cvcamSetProperty(0, CVCAM_PROP_WINDOW, &mywin); cvcamSetProperty(0, CVCAM_PROP_CALLBACK, callback); //cvcamGetProperty(0, CVCAM_VIDEOFORMA T,NULL); cvNamedWindow( "径向矫正1", 1 );//创建窗口 cvNamedWindow( "径向矫正2", 1 );//创建窗口 cvcamInit( ); cvcamStart( ); cvWaitKey(0); cvcamStop( ); cvcamExit( ); cvDestroyWindow( "径向矫正1" );//销毁窗口 cvDestroyWindow( "径向矫正2" );//销毁窗口

立方体纹理映射

1问题描述与算法思想 1.1纹理映射简介 纹理映射(Texture Mapping)是将纹理空间中的纹理像素映射到屏幕空间中的像素的过程。在三维图形中,纹理映射(Texture Mapping)的方法运用得最广,尤其描述具有真实感的物体。比如绘制一面砖墙,就可以使用一幅具有真实感的图像或者照片作为纹理贴到一个矩形上,这样,一面逼真的砖墙就画好了。如果不用纹理映射的方法,这墙上的每一块砖都要作为一个独立的多边形来绘制。另外,纹理映射能够保证在变换多边形时,多边形上的纹理也会随之变化。例如,用透视投影模式观察墙面时,离视点远的墙壁的砖块的尺寸就会缩小,而离视点近的就会大些,这些是符合视觉规律的。此外,纹理映射也被用在其他一些领域。如飞行仿真中常把一大片植被的图像映射到一些大多边形上用以表示地面,或者用大理石、木材等自然物质的图像作为纹理映射到多边形上表示相应的物体。纹理对象通过一个单独的数字来标识。这允许硬件能够在内存中保存多个纹理,而不是每次使用的时候再加载它们,从而减少了运算量,提高了速度。纹理映射是真实感图像制作的一个重要部分,运用它可以方便的制作出极具真实感的图形而不必花过多时间来考虑物体的表面细节。然而纹理加载的过程可能会影响程序运行速度,当纹理图像非常大时,这种情况尤为明显。如何妥善的管理纹理,减少不必要的开销,是系统优化时必须考虑的一个问题。还好,相关软件提供了纹理对象对象管理技术来解决上述问题。与显示列表一样,纹理对象通过一个单独的数字来标识。 立方体映射(cube-map)纹理是一种特殊类型的纹理,用于环境映射,使用一组图像并把他们作为立方体的面。立方体映射的6个面用正方形并且大小相同的6个子纹理表示。要从立方体纹理中采样的时候,使用的纹理坐标是3维,并且被看做来自原点的方向。方向指向用来读取纹理的立方体映射表面的位置。立方体纹理映射主要思想是通过观察向量和表面的法向量反射来确定采样的纹理坐标。 1.2实验目的 1) 掌握位图纹理读入方法; 2)掌握立方体纹理映射算法。 1.3功能要求 1)建立三维坐标系Oxyz,远点位于屏幕客户区中心,x轴水平向右为正,y轴垂直向上为正,z轴垂直于屏幕指向观察者。 2)设置屏幕背景色为黑色。 3)读入六张构成天空盒的位图作为纹理映射到立方体的可见表面上。 4)按下鼠标左键缩小立方体,按下鼠标右键增大立方体。 5)使用键盘方向旋转纹理立方体。 6)使用动画按钮播放或停止立方体动画。 1.4算法原理(算法思想) 立方体进行纹理映射是纹理对象并不是直接绑定到着色器,而是绑定到一个

仿射变换仿射平面与投影变换平面

仿射平面与投影平面 第一章仿射几何学 本章内容的安排在于揭示一种思想方法,从观察到概念形成到不变量系统再到代数系统,这种安排思想也充分反映了历史上射影几何建立过程中综合方法与解析方法各有所长交替作用互相影响的发展历程。本节研究的内容来自于生活、自然与生产建设实践,如正交变换是从研究我们生活空间中物体位置改变的最简单的情形移动、转动和镜面反射开始的,仿射变换则是从太阳光的照射开始的。因此在本章的学习中应注重于培养观察能力。 《数学发现的艺术》中是这样描述“观察”与“归纳”的:“观察是有意知觉的高级形式,它与有意注意结合在一起,与思维相联系。怎样进行观察?需要注意三点:一是有意识、有目标,处处留心,总想‘找岔儿’,从中发现点什么,否则就会熟视无睹,看等于不看;二是要有基础,有必要的相关知识,否则难以看出‘门道儿’,而只能是‘外行看热闹’;三是要有方法,否则就看不到‘点子’上,抓不住要领。在观察中,要特别注意从个别想到一般,从平常中发现异常”;而“归纳是由个别事例向关于这一类事物的一般性的过渡,是一种对经验、以实验观察结果进行去粗取精、去伪存真的综合处理方法。人们用归纳法清理事实,概括经验,处理资料,从而形成概念,发现规律”。 通过本章学习,首先对观察、归纳应该有一个较为深刻的认识,为在以后的学习中能熟练应用观察而打下良好的基础,其次对数学研究的目标之一——对象的结构——有一个初步的了解。 12

13 §1 正交变换 本单元分两个部分介绍正交变换,其一是解析几何中坐标变换的复习,主要通过讨论刚体运动中的特例——平移、旋转和反射,揭示其中最基本的不变量——距离,进而提炼出正交变换的概念。其二是利用不变量系统建立相应的坐标系,从而引入解析法,用代数方法解决正交变换的结构问题。 一、基本概念 实例 (a) 平移是沿一定的方向推移物体的过程,建立适当的坐标系,就有 平移0X l : ? íì+=¢+=¢00y y y x x x , 即 0X X X +=¢; (b) 旋转是物体绕着固定点转动的过程,建立适当的坐标系,就有 旋转q r : ?íì+=¢-=¢q q q q cos sin sin cos y x y y x x , 即 X X ÷÷? ???è?-=¢q q q q cos sin sin cos ; (c) 反射是关于一条固定直线的对称,建立适当的坐标系,就有 反射x r : ?íì-=¢=¢y y x x , 即 X X ÷÷? ???è?-=¢1001。 这三种变换是平面上物体运动的最基本方式,它们的组合就形成了物体在平面上的丰富多彩的运动方式。这三种变

鱼眼图像畸变校正算法

据《硅谷》杂志2012年第21期刊文称,根据鱼眼镜头成像的特点,选择合适的图像畸变校正算法,标定鱼眼图像的中心和半径,用标定得到的参数进行校正,推出校正模型,方法简单,易于实现,并对鱼眼图的畸变矫正问题提出意见与看法。 关键词:鱼眼图像;畸变矫正;图像预处理;图像增强 鱼眼图像的畸变矫正是以某种独特的变换方式将一副鱼眼图像转换为理想图像的操作,这种操作在全方位视觉导航中具有重要的作用,是系统自动识别、跟踪和定位目标所必须的基础操作。 1畸变图像的校正原理 根据畸变图像特点标定坐标图,求取标定点像素的理想值和实际值,同时生成坐标映射表,再把坐标映射表用于畸变图像的校正程序后,即可得到无畸变图像,具体处理过程如下:1)标定坐标 镜头中心的畸变可以忽略为零,以镜头为中心,离镜头越远的地方畸变越大。以镜头为中心标定坐标图,对图像进行坐标的标定,按正方形均匀排列圆点,如图1所示。 2)图像预处理 先通过图像的、突出边缘细节;然后再用二值化处理增强调节对比度的图像,但部分样板点和背景的对比的差值较大,所以是设定一个阈值对整幅图像进行二值化,最后再对二值化后的图像再次进行中值滤波的方法处理,再次使用中值滤波方法可以有效的去除畸变图像中的部分椒盐噪声的影响。二值化的主要作用是可以提高畸变校正图像的质量,预处理图像可以为点阵样板圆点中心的确定提供重要的作用。 3)圆点中心的确定 由于图像畸变的影响,经过图像预处理后的畸变校正图像仍然是不规则的实心圆,然而样板中的确定的圆点却是规则排列的,所以可以在畸变校正的样板图像上把各个圆点的重心近似的替换为圆点中心,找出一个圆点的重心作为理想畸变校正样板图像上与之对应的点,并找出该点处于二维平面坐标之中与之距离之和最大的圆点,从各个圆点的坐标之中找出与之距离之和最大的圆点坐标,该点坐标即为畸变图像中与之相对应的点的坐标。再找出理想的点阵样板图像和该畸变校正图像中各圆点中心的位置,计算出点与点之间的垂直距离,即可得到点阵样板图像中各点之间的偏移量,从而可以描绘和构建畸变校正图像上的各个点之间偏移量的曲面。最后经过图像预处理过程的样板圆点中心的确定,可计算出其它圆点中心的坐标位置。 2有关鱼眼图片的粗略校正 1)求取鱼眼图像行和列的比值 将投射生成标准圆变换为鱼眼图片并求取图片中心点的方法与普通相机照相原理不同,对于提取出来的鱼眼图片的轮廓,我们先假定一个阈值,比如设一个灰度值30,用软件勾勒描绘出校正鱼眼图片大概的轮廓,然后先求出该轮廓的中心点坐标,根据轮廓的图形和鱼眼图像的中心点的坐标,可计算出畸变图像的圆半径,从而求取鱼眼图像的中心点坐标和鱼眼图像的粗略轮廓的图像的半径相对比,以便于将鱼眼图像的大概轮廓重新调整处理,变的更为精确和直观。假定畸变校正的鱼眼图片的半径中的行坐标曲线和列坐标曲线不相等,则我们需要将畸变校正的鱼眼图像中的园的半径的曲线与下面的公式相乘,然后就可以变换为普通的标准圆的图像。下面公式中(u,v)是畸变校正的鱼眼图片的中心点,β为畸变校正的鱼眼图像行和列的比值。 2)鱼眼图片的粗略扭曲校正 在得到中心点的坐标和校正形状之后,把扭曲的鱼眼图像通过投射降低图像的扭曲程度变为正常的四方形的图像。

透视投影(Perspective Projection)变换推导

透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如 gluPerspective(…) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1) 而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得 p – o = p1 a + p2 b + p3 c (2) 从上面对向量和点的表达,我们可以看出为了在坐标系中表示一个点(如p),我们把点的位置看作是对这个基的原点o所进行的一个位移,即一个向量——p – o(有的书中把这样的向量叫做位置向量——起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点p: p = o + p1 a + p2 b + p3 c (3) (1)(3)是坐标系下表达一个向量和点的不同表达方式。这里可以看出,虽然都是用代数分量的形式表达向量和点,但表达一个点比一个向量需要额外的信息。如果我写出一个代数分量表达(1, 4, 7),谁知道它是个向量还是个点! 我们现在把(1)(3)写成矩阵的形式: 这里(a,b,c,o)是坐标基矩阵,右边的列向量分别是向量v和点p在基下的坐标。这样,向量和点在同一个基下就有了不同的表达:3D向量的第4个代数分量是0,而3D点的第4个代数分量是1。像这种这种用4个代数分量表示3D几何概念的方式是一种齐次坐标表示。 “齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill, JR 这样,上面的(1, 4, 7)如果写成(1,4,7,0),它就是个向量;如果是(1,4,7,1),它就是个点。 下面是如何在普通坐标 (Ordinary Coordinate)和齐次坐标(Homogeneous Coordinate)之间进行转换:

深入探索3D拾取技术

深入探索3D拾取技术 在游戏中,玩家需要通过点击2D屏幕来选择3D物体,这个过程就是拾取(picking)。拾取是3D游戏必不可少的基本操作,它实现了玩家和游戏世界内对象的交互。 虽然拾取技术很基本,但它却迷惑了很多3D初学者。很多朋友都问过我关于拾取的细节问题,这让我觉得很有必要具体探讨一下该技术。其实,拾取之所以让很多开发者感到复杂,主要原因在于它跨域了流水线的多个阶段,并且是逆流水线上行。另外,它是一个2D信息扩展到3D的过程,必须对信息做相应的扩展和额外的计算才能够得到正确的结果。下面我门具体分析一下这个技术。 水流线主要阶段分析 我们来直观地看一下从相机空间到viewport的变换 相机空间中的一个顶点v,经过透视变换后进入了CVV中。这个变换矩阵实际上完成了两个工作: 1)将顶点从3D空间投影到2D的投影平面(Projection Plane)上。 2)将投影平面上的2D投影点通过线性插值变换到齐次裁剪空间CVV中。 这些变换都通过透视矩阵一次完成。我之所以把这一步分解为两步,因为这对于分析拾取很重要。 顶点进入齐次裁剪空间并经过CVV裁剪,最终进行透视除法从4D齐次形式变回成3D形式。然后经过一个线性插值(被封装在视口(viewport)变换中),变换到viewport中,多个点以三角形的形式经过光栅化后被玩家看到。最后一步的点变换可以描述为: 3)将CVV中的点通过线性插值变换到viewport中。

分析了这个变换过程之后,我们知道了从相机空间开始实际处理点位置信息的操作,就是上面的三个步骤。这样,我们可以先把顶点从viewport中先变换回投影平面上,也就是我们可以先完成(2)和(3)的逆处理。这里我们不用考虑裁剪和透视除法这些操作,因为反推的时候,处于视口中的点,已经是经过裁剪后留下的有效点了,必定处于CVV内,也必定处于projection plane内!而且从viewport逆变换到projection plane,点一直保持2D形式。 picking的开始是玩家在屏幕上点击一个位置——这实际上是在viewport中进行了点击。我们通过响应玩家的点击事件,得到在viewport中的点击位置,记为P0(Xp0,Yp0)。然后我们把p0从viewport中线性插值到CVV中,得到P1(Xp1,Yp1): 上面的线性插值(如果对线性插值公式不熟悉,请参考《深入探索透视投影变换》一文中的线性插值部分)公式在x方向上计算出了CVV中的P1,y方向的公式同理。接下来我们再把P1从CVV中变换到projection plane中,得到P2(Xp2,Yp2): y方向的计算同理。P2就是viewport中玩家点击的点在projection plane上所对应的位置。目前来看很好。我们已经获得了相机空间中的投影平面上,玩家点击的位置。但目前的点是一个2D点——它处于投影平面上。玩家需要拾取的是一个3D对象,因此我们需要将2D信息拓展到3D中。 向3D世界拓展 将2D的点信息拓展到3D空间进行picking,会使用射线(ray)进行。ray就是一端固定,另一端无限延伸的线性模型。如下图所示:

参数可调图像畸变校正技术

参数可调图像畸变校正技术 [摘要] 随着数字图像畸变校正处理的应用领域的不断扩大,其处理技术也成为研究的热点.大视场成像光学系统中的畸变会降低图像质量,必须预以校正。本文提出了一种新的校正方法,根据畸变率的定义推导出畸变校正公式, 给出了建立畸变模型的方法。实践证明,这种模型可以满足大多数镜头的畸变校正要求。 [关键字] 几何畸变畸变模型畸变校正 一、畸变的产生 图像几何畸变就是在不同的摄入条件下得到图像时,一个物体的图像常会发生几何畸变出现歪斜变形的现象。例如从太空宇航器拍摄的地球上等距平行线,其图像会变为歪斜或虽平行而不等间距,用光学和电子扫描仪摄取的图像常常会有桶形畸变和枕型畸变,用普通的光学摄影与测试雷达拍摄的同一地区的景物在几何形状上有较大的差异。以上这类现象统称为几何畸变。实际工作中常需以某一幅图像为基准,去校正另一种摄入方式的图像,以期校正其几何畸变,这就叫做图像的几何畸变复员或几何畸变校正。 图1畸变的产生 数字图像的畸变是由于采用了广角镜头而引入的, 一般来说,随着视场的改变,畸变值也改变,越接近视场的边缘,畸变值就越大。例如一个垂直于光轴的物体,如图1中(a)所示,它经过有畸变的光学系统成像后,会出现如图(b)或图(c)所示的成像情况。其中(b)称为枕形畸变,(c)称为桶形畸变。枕形畸变又称为正畸变,桶形畸变称为负畸变。畸变产生的原因是由于系统的实际放大率随视场而变化,不再是一个常数。对于正畸变,实际放大率大于理想的放大率,而负畸变则相反。畸变对成像的影响使像产生较为严重的失真。 二、畸变的校正及发展现状 从数字图像处理的观点来看: 畸变校正实际上是一个图像恢复的问题,即对一幅退化图像的恢复。畸变主要表现在图像中像素点发生位移,从而使图像中物体扭曲变形。畸变校正分为两步,第一步是对原图像进行像素坐标空间的几何变换,这样做的目的是使像素点落在正确的位置上;第二步是重新确定新像素点的灰度值。因为经过上面的坐标变换后,有些像素点可能会被挤压在一起,有时又分散开,使校正的像素不落在离散的整数坐标位置上,因此需要确定这些像素点的灰度值。 目前,国内外关于畸变校正算法的研究已经比较多,具体来讲主要分为二大类:利用标准样板校正和拟合镜头畸变曲线校正方法。其中拟合镜头畸变曲线的方法是对几个不同视场进行畸变计算,通过这些计算值拟合出视场角随畸变变化的曲线,然后通过这条曲线计算出镜头在CCD上所成图形的每一点的畸变值,进而计

高斯投影及分带介绍

高斯投影及分带介绍 2011年09月29日星期四 10:17 高斯坐标即高斯-克吕格坐标系 (1)高斯-克吕格投影性质 高斯-克吕格(Gauss-Kruger)投影简称“高斯投影”,又名"等角横切椭圆柱投影”,地球椭球面和平面间正形投影的一种。德国数学家、物理学家、天文学家高斯(Carl FriedrichGauss,1777一 1855)于十九世纪二十年代拟定,后经德国大地测量学家克吕格(Johannes Kruger,1857~1928)于 1912年对投影公式加以补充,故名。该投影按照投影带中央子午线投影为直线且长度不变和赤道投影为直线的条件,确定函数的形式,从而得到高斯一克吕格投影公式。投影后,除中央子午线和赤道为直线外,其他子午线均为对称于中央子午线的曲线。设想用一个椭圆柱横切于椭球面上投影带的中央子午线,按上述投影条件,将中央子午线两侧一定经差范围内的椭球面正形投影于椭圆柱面。将椭圆柱面沿过南北极的母线剪开展平,即为高斯投影平面。取中央子午线与赤道交点的投影为原点,中央子午线的投影为纵坐标x轴,赤道的投影为横坐标y轴,构成高斯克吕格平面直角坐标系。 高斯-克吕格投影在长度和面积上变形很小,中央经线无变形,自中央经线向投影带边缘,变形逐渐增加,变形最大之处在投影带内赤道的两端。由于其投影精度高,变形小,而且计算简便(各投影带坐标一致,只要算出一个带的数据,其他各带都能应用),因此在大比例尺地形图中应用,可以满足军事上各种需要,能在图上进行精确的量测计算。 (2)高斯-克吕格投影分带 按一定经差将地球椭球面划分成若干投影带,这是高斯投影中限制长度变形的最有效方法。分带时既要控制长度变形使其不大于测图误差,又要使带数不致过多以减少换带计算工作,据此原则将地球椭球面沿子午线划分成经差相等的瓜瓣形地带,以便分带投影。通常按经差6度或3度分为六度带或三度带。六度带自0度子午线起每隔经差6度自西向东分带,带号依次编为第 1、2…60带。三度带是在六度带的基础上分成的,它的中央子午线与六度带的中央子午线和分带子午线重合,即自 1.5度子午线起每隔经差3度自西向东分带,带号依次编为三度带第 1、2…120带。我国的经度范围西起73°东至135°,可分成六度带十一个,各带中央经线依次为75°、81°、87°、……、117°、123°、129°、135°,或三度带二十二个。六度带可用于中小比例尺(如 1:250000)测图,三度带可用于大比例尺(如 1:10000)测图,城建坐标多采用三度带的高斯投影。 (3)高斯-克吕格投影坐标 高斯- 克吕格投影是按分带方法各自进行投影,故各带坐标成独立系统。以中央经线投影为纵轴(x), 赤道投影为横轴(y),两轴交点即为各带的坐标原点。纵坐标以赤道为零起算,赤道以北为正,以南为负。我国位于北半球,纵坐

计算投影变形实例

高速公路导线测量中的投影变形问题 一公司谭晓波 摘要 随着公路建设的不断扩大与发展,公路(特别是高速公路)从平原微丘区向山岭重丘区(乃至高原地区)延伸,测区高程面由数十米增加到数百米乃至数千米;由于高程面的不同所产生的长度变形对工程建设的影响是必须考虑的问题。据有关计算表明,当大地高程面H=700m时,其长度变形为11cm/km,远大于规范允许值,这对于重要工程的测量是一个不可忽略的数值。现以工程实例来探讨山区高速公路在导线测量中的投影变形问题。 1、工程概况 泉(州)三(明)高速公路QA16合同段起讫里程K105+970至K112+406.060,全线长6.43606公里,测区所属地理位置位于山区,平均高程为717m,这就使在导线测量过程中遇到了长度变形问题。如表: 2、长度投影变形及分析 公路工程布设的测量控制网是为了施工的需要,因而要求平面控制点坐标反算的边的长度与实地量测的长度相符。而目前我们遇到了长度变形的问题,即实际测量长度比设计长度大,按《公路勘测规范》对测量控制网的长度变形的规定,测区内投影长度变形值不得大于2.5 cm/km,即投影变形应达到1/40 000的精度。这就要求要对实测长度进行改正,也就是

要先将控制网边长归化到参考椭球面上,然后再将椭球面上的长度投影到高斯平面上,使其影响可以忽略不计。 2.1、投影变形数学模型 长度变形来源于以下两个方面: 2.1.1 实地测量的边长长度换算到椭球面上产生的变形,即1s ?;改正数误差方程式(此式较复杂这里省略)经最小二乘列出误差方程式,按级数展开后取其主项(其它项的影响甚微可以忽略不计): s R H s A m - =?1 (1) 式中 A R -长度所在方向的椭球曲率半径; m H -长度所在高程面对于椭球面的平均高程; s -实地测量的水平距离。 2.1.2 椭球面上的长度投影至高斯平面 02 2 2 2s R y s m + =? (2) 式中 R -测区中点的平均曲率半径; m y -距离的2端点横坐标平均值; 0s -为归算到椭球面上的长度。 在不影响推证严密性的前提下取, A R =R ,s=0s , 综合上两式可得,综合长度变形 s ?为: s R y s R H s m m 2 2 2+ -=? (3) 2.2、长度投影变形分析 由式(1)、式(2)、式(3)可以归纳投影变形的主要特征如下: 1)、地面上实量长度归算至参考椭球面上总是缩短的,且|1s ?|与m H 成正比,地面高程愈高,长度变形愈大。

畸变校正

畸变校正实现 1.相机标定 在计算机视觉中,通过相机标定能够获取一定的参数,其原理是基于三大坐标系(摄像机坐标系、图像坐标系和世界坐标系)之间的转换和摄像机的畸变参数矩阵。目前经常用张正友标定法,进行摄像机标定,获取到内参数矩阵和外参数矩阵以及畸变参数矩阵。 1.1三大坐标系 1)图像坐标系 在计算机系统中,描述图像的大小是像素,比如图像分辨率是1240*768.也就是以为图像矩阵行数1024,列数768。图像的原点是在图像的左上角。 以图像左上角为原点建立以像素为单位的坐标系u-v。像素的横坐标u与纵坐标v分别是在其图像数组中所在的列数与所在行数。这是像素坐标,而不是图像坐标系,为了后续的模型转换,有必要建立图像坐标系。 图像坐标系是以图像中心为原点,X轴和u轴平行,Y轴和v轴平行。dx和dy 表示图像中每个像素在X轴和Y轴的物理尺寸,其实就是换算比例。比如图像大小是1024*768,图像坐标系x-y中大小为19*17.那么dx就是19/1024。 2)相机坐标系 相机成像的几何关系可由图2.2表示。其中O点为摄像机光心(投影中心),Xc 轴和Yc轴与成像平面坐标系的x轴和y轴平行,Zc轴为摄像机的光轴,和图像平面垂直。光轴与图像平面的交点为图像的主点O1,由点O与Xc,Yc,Zc轴组成的直角坐标系称为摄像机的坐标系。OO1为摄像机的焦距。 3)世界坐标系 世界坐标系是为了描述相机的位置而被引入的,如图2.2中坐标系OwXwYwZw即为世界坐标系。平移向量t和旋转矩阵R可以用来表示相机坐标系与世界坐标系的关系。所以,假设空间点P在世界坐标系下的齐次坐标是(Xw,Yw,Zw,1)T,(这

深入探索透视投影变换

深入探索透视投影变换 -Twinsen编写 -本人水平有限,疏忽错误在所难免,还请各位数学高手、编程高手不吝赐教 -email: popyy@https://www.360docs.net/doc/8712783795.html, 透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的3D APIs如OpenGL、D3D的确把具体的透视投影细节封装起来,比如 gluPerspective(…)就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地方全部找到,但是你现在找到了 )。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考《向量几何在游戏编程中的使用》系列文章)。 齐次坐标表示 透视投影变换是在齐次坐标下进行的,而齐次坐标本身就是一个令人迷惑的概念,这里我们先把它理解清楚。 根据《向量几何在游戏编程中的使用6》中关于基的概念。对于一个向量v以及基oabc, 可以找到一组坐标(v1,v2,v3),使得 v = v1 a + v2 b + v3 c (1)

PS各种光影的处理手法理论及实例解析

PS各种光影的处理手法理论及实例解析 阴影对于任何图像处理都是非常重要的,因为它与灯光总是形影不离,如果阴影被正确的使用,那么你可以得到非常惊叹的效果。在这个教程中,我会告诉你一些巧妙使用photoshop来创建逼真的阴影与灯光的方法。 第一步当然是理论,以帮助你了解灯光与阴影是如何运作的,在后面的步骤中,我将向你展示如何创建阴影。 1、光源与阴影的角度 在你开始处理图像前,你要确定时否需要阴影。为了让你自己理清思路,你必须先确定主光源。 你可以看到,原始图片的光源在左上角,在合成的图像中,天空的和云彩的左上角也是被照亮的,你应该始终尊重光的方向。你必选确定图像中那些元素会影响你处理灯光与阴影。

下面是一个类似的情况,只不过光源是来自右侧的,而这位艺术家在处理图像时,也是通过光源的引导,在模特身上处理出了高光。

有的时候你可能没有参考点来确定主光源,但你可以通过图像上的阴影来确定主光源,下面就是一个例子。

原始图片没有路标,是我用photoshop加上去的。如果没有参考点让我来确定光源的位置在哪(在这张图中,当然是太阳),我就根据图中男人与女孩的阴影来为我添加的路牌加上阴影。如果参考的阴影是模糊的,你应该运用高斯模糊,你添加的阴影因该尽可能的接近原图中的阴影。 这就是基本理论,简单的说,就是你必须确定光源,以便知道如何创建阴影。 接下来的步骤里,我将从头向你演示如何创建逼真的阴影。我会告诉你一些我个人使用的一些技巧,当然你也可以用自己的方法来实现。 因为有各种不同的阴影,我给他们取了不同的名字,以便我举例子,也方便你听懂。 A)接触阴影 我把这样的阴影叫“接触阴影”,是因为我不知道它应该叫什么(wb:我也是第一次听到这种叫法)。这是非常重要的一种阴影,以为它直接告诉你这个物体时放置在地面上的活非常接近地面。下面的图片就是一个例子,在图中你可以清楚的看到这种阴影的真实样子。

20.3度6度带高斯投影详解

3度6度带高斯投影详解 选择投影的目的在于使所选投影的性质、特点适合于地图的用途,同时考虑地图在图廓范围内变形较小而且变形分布均匀。海域使用的地图多采用保角投影,因其能保持方位角度的正确。 我国的基本比例尺地形图(1:5千,1:1万,1:2.5万,1:5万,1:10万,1:25万,1:50万,1:100万)中,大于等于50万的均采用高斯-克吕格投影(Gauss-Kruger),这是一个等角横切椭圆柱投影,又叫横轴墨卡托投影(Transverse Mercator);小于50万的地形图采用等角正轴割园锥投影,又叫兰勃特投影(Lambert Conformal Conic);海上小于50万的地形图多用等角正轴圆柱投影,又叫墨卡托投影(Mercator)。一般应该采用与我国基本比例尺地形图系列一致的地图投影系统。 地图坐标系由大地基准面和地图投影确定,大地基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的大地基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的IAG 75地球椭球体建立了我国新的大地坐标系--西安80坐标系,目前GPS定位所得出的结果都属于WGS84坐标系统,WGS84基准面采用WGS84椭球体,它是一地心坐标系,即以地心作为椭球体中心的坐标系。因此相对同一地理位置,不同的大地基准面,它们的经纬度坐标是有差异的。 采用的3个椭球体参数如下(源自“全球定位系统测量规范GB/T 8314-2001”): 椭球体与大地基准面之间的关系是一对多的关系,也就是基准面是在椭球体基础上建立的,但椭球体不能代表基准面,同样的椭球体能定义不同的基准面,如前苏联的Pulkovo 1942、非洲索马里的Afgooye基准面都采用了Krassovsky椭球体,但它们的大地基准面显然是不同的。在目前的GIS 商用软件中,大地基准面都通过当地基准面向WGS84的转换7参数来定义,

深入探索透视投影矩阵.

-Twinsen 编写 - 本人水平有限,疏忽错误在所难免,还请各位数学高手、编程高手不吝赐教 -email: 透视投影是 3D 固定流水线的重要组成部分,是将相机空间中的点从视锥 体 (frustum) 变换到规则观察体 (Canonical View Volume) 中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。 透视投影变换是令很多刚刚进入 3D 图形领域的开发人员感到迷惑乃至神秘的一个图形技术。其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。 没错,主流的 3D APIs 如 OpenGL 、 D3D 的确把具体的透视投影细节封装起来,比如 gluPerspective(…) 就可以根据输入生成一个透视投影矩阵。而且在大多数情况下不需要了解具体的内幕算法也可以完成任务。但是你不觉得,如果想要成为一个职业的图形程序员或游戏开发者,就应该真正降伏透视投影这个家伙么?我们先从必需的基础知识着手,一步一步深入下去(这些知识在很多地方可以单独找到,但我从来没有在同一个地方全部找到,但是你现在找到了)。 我们首先介绍两个必须掌握的知识。有了它们,我们才不至于在理解透视投影变换的过程中迷失方向(这里会使用到向量几何、矩阵的部分知识,如果你对此不是很熟悉,可以参考《向量几何在游戏编程中的使用》系列文章)。 齐次坐标表示 透视投影变换是在齐次坐标下进行的,而齐次坐标本身就是一个令人迷惑的概念,这里我们先把它理解清楚。 根据《向量几何在游戏编程中的使用 6 》中关于基的概念。对于一个向量 v 以及基 oabc ,

深入探索正交投影变换

深入探索正交投影变换 之前我们在《深入探索透视投影变换》以及《深入探索透视投影变换(续)》中研究了OpenGL、D3D以及M3G的透视投影变换的原理以及生成方法。这些方法在当前的主流图形API 中得到了普遍使用。但关于投影应用,还有一类经常使用的投影方式需要我们深入理解——正交投影,我们在本篇文章里面研究它(这里假设读者已经看过前两篇文章,并理解了绝大多数的理论,因为正交投影比透视投影的推导关系简单得多,因此我们的推导会非常得快,如果读者有任何的不解,请参考前两篇文章或者通过email联系我)。 在具体研究之前我觉得有必要把平面投影的分类简单介绍一下,目的是为了让大家有一个总体的认识,从而更好的理解这个知识体系。请看下图: 平面投影分为平行投影和透视投影两种类型,后者我们在前两篇文章中介绍了。平行投影则是具有矩形观察体的投影方式(透视投影则是视锥观察体),它不会根据物体离视点的远近缩放物体(透视投影则会)。平行投影可以分成侧投影和正交投影两种类型。这两种类型如何区分呢?我们继续看图吧: 上图中,v是投影平面,n是它的法线。p和q是平面外两点,p’和q’分别是它们在平面上的投影点。q的投影方向向量为Q = 单位化(q’-q),而p的投影方向向量为P = 单

位化(p’-p),其中Q不平行于n而P平行于n,则q的投影叫做侧投影,而p的投影叫做正交投影。正交投影是我们今天的研究对象。 实际上上面对平面投影的分类还可以继续向下细分,比如透视投影可以分为一灭点、二灭点以及三灭点透视投影。侧投影则可以继续分为散点侧投、斜二轴侧投等等。而正交投影则可以分成轴侧投影以及多视点正交投影等等。如果读者对此感兴趣,可以参考相关的图形学教程。 接下来我们研究正交投影。分别介绍OpenGL、D3D以及M3G的。我们的环境约定(左右手坐标系、行列向量乘法、CVV范围)仍然尊重相应API自己的设置。 OpenGL正交投影变换 下图是OpenGL的右手坐标系中观察空间的情形,我们看到的是正交投影的矩形观察体,原点是相机位置,n是近裁剪平面到相机平面的距离,f是远裁剪平面到相机平面的距离。p是观察体中的一个点,p’是它投影之后的点。 投影之后我们有关系: 因为是正交投影,没有统一的投影射线目标点,因此投影之后的x和y不会变,而z 则永远地变成了-n,跑到了投影平面上(我们让投影平面和近裁剪平面重合),它已经没用了,则我们用这个没用的信息保存z(为了之后片元操作的时候用),写为:

相关文档
最新文档