第三章投影变换图像校正
OpenCV图像变换二投影变换与极坐标变换实现圆形图像修正

OpenCV图像变换⼆投影变换与极坐标变换实现圆形图像修正投影变换##在放射变换中,物体是在⼆维空间中变换的。
如果物体在三维空间中发⽣了旋转,那么这种变换就成为投影变换,在投影变换中就会出现阴影或者遮挡,我们可以运⽤⼆维投影对三维投影变换进⾏模块化,来处理阴影或者遮挡。
在OpenCV中有类似于getAffineTransform函数:getPerspectiveTransform(src,dst)函数⽤来处理计算投影变换矩阵。
与getAffineTransform函数不同的是传⼊的参数是三维空间坐标系的空间坐标,也就是4*2的⼆维ndarray,其中每⼀⾏代表⼀个坐标并且传⼊的数据类型必须为float32.⽰例:import cv2import numpy as npsrc=np.array([[0,0],[100,0],[0,100],[100,100]],np.float32)dst=np.array([[100,10],[100,10],[50,70],[200,150]],np.float32)P=cv2.getPerspectiveTransform(src,dst)print(P)运⾏结果:[[-7.77156117e-16 -1.00000000e+00 1.00000000e+02][-2.77555756e-15 -1.00000000e-01 1.00000000e+01][-2.66713734e-17 -1.00000000e-02 1.00000000e+00]]由结果可以看出当前输出的类型是float64.对于仿射变换在OpenCV中提供了如下的函数cv2.warpPerspective(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])输⼊的矩阵类型是3⾏3列的投影变换矩阵。
⽰例:import cv2import numpy as npimport matplotlibdef Perspect(path):img=cv2.imread(path,cv2.IMREAD_GRAYSCALE)if not isinstance(img, np.ndarray):print('PASS')passelse:h,w=img.shape#设置变换坐标变化src=np.array([[0,0],[w-1,0],[0,h-1],[w-1,h-1]],np.float32)dst=np.array([[100,100],[w/3,100],[100,h-1],[w-1,h-1]],np.float32)#计算投影变换矩阵P=cv2.getPerspectiveTransform(src,dst)#利⽤变化矩阵进⾏投影变换r=cv2.warpPerspective(img,P,(w,h),borderValue=126)#显⽰图像cv2.imshow('A',img )cv2.imshow('B',r)cv2.waitKey(0)cv2.destroyAllWindows()print(P)Perspect('img/aa.jpg')极坐标变换##极坐标变换主要处理校正图像中的圆形物体或者在圆形中物体\(r=\sqrt{(x-(\overline{x})^2)+(y-(\overline{y})^2)}\)\[\theta= \left\{ \begin{matrix} 2\pi +arctan2(y-\overline{y},x-\overline{x}), &y-\overline{y}\leq0\\ arctan2(y-\overline{y},x-\overline{x},&y-\overline{y}>0 \end{matrix} \right\} \]以变换中⼼为圆⼼的同⼀个圆⼼上的点,在极坐标系\(\theta\)or中显⽰为⼀条直线。
利用MAPGIS进行误差校正和投影变换

实验四 利用MAPGIS进行误差校正和投影变换相关知识简介一、误差校正子系统功能概述机助制图是用计算机来实现制图,将普通图纸上的图件,转化为计算机可识别处理的图形文件。
现代计算机技术和自动控制技术的发展,使机助制图技术发展很快。
机助制图主要可分为编辑准备阶段、数字化阶段、计算机编辑处理和分析实用阶段、图形输出阶段等。
在各个阶段中,图形数据始终是机助制图数据处理的对象,它用来描述来自现实世界的目标,具有定位、定性、时间和空间关系(包含、联结、邻接)的特征。
其中定位是指在一个已知的坐标系里,空间实体都具有唯一的空间位置。
但在图件数字化输入的过程中,通常由于操作误差,数字化设备精度、图纸变形等因素,使输入后的图形与实际图形所在的位置往往有偏差,即存在误差。
个别图元经编辑、修改后,虽可满足精度,但有些图元,由于位置发生偏移,虽经编辑,很难达到实际要求的精度,此时,说明图形经扫描输入或数字化输入后,存在着变形或畸变。
出现变形的图形,必须经过误差校正,清除输入图形的变形,才能使之满足实际要求。
图形数据误差可分为源误差、处理误差和应用误差3种类型。
源误差是指数据采集和录入过程中产生的误差,如制图过程中展绘控制点、编绘或清绘地图、制图综合、制印和套色等引入的误差,数字化过程中因纸张变形、变换比例尺、数字化仪的精度(定点误差、重复误差和分辨率)、操作员的技能和采样点的密度等引起的误差。
处理误差是指数据录入后进行数据处理过程中产生的误差,包括几何变换、数据编辑、图形化简、数据格式转换、计算机截断误差等。
应用误差是指空间数据被使用过程中出现的误差。
其中数据处理误差远远小于数据源的误差,应用误差不属于数据本身的误差,因此误差校正主要是来校正数据源误差。
这些误差的性质有系统误差、偶然误差和粗差。
由于各种误差的存在,使地图各要素的数字化数据转换成图形时不能套合,使不同时间数字化的成果不能精确联结,使相邻图幅不能拼接。
所以数字化的地图数据必须经过编辑处理和数据校正,消除输入图形的变形,才能使之满足实际要求,进行应用或入库。
第三章 几何校正

•
• 控制点选取的原则 控制点的选择要以配准对象为依据。以地面坐标为匹配标准 的,叫做地面控制点(记作GCP)。有时也用地图作地面控 制点标准,或用遥感图像(如用航空像片)作为控制点标准。 无论用哪一种坐标系,关键在于建立待匹配的两种坐标系的 对应点关系。
• 一般来说,控制点应选取图像上易分辨且较精细的特征点,这 很容易通过目视方法辨别,如道路交叉点、河流弯曲或分叉处、 海岸线弯曲处、湖泊边缘、飞机场、城廓边缘等。 特征变化大的地区应多选些。 图像边缘部分一定要选取控制点,以避免外推。 此外,尽可能满幅均匀选取,特征实在不明显的大面积区域 (如沙漠),可用求延长线交点的办法来弥补,但应尽可能避 免这样做,以避免造成人为的误差。
精度明显提高,特别是对 亮度不连续现象或线状特 征的块状化现象有明显的 改善。 更好的图像质量,细节表 现更为清楚。
计算量增加,且对图像起 鉴于该方法的计算量和精度 到平滑作用,从而使对比 适中,只要不影响应用所需 度明显的分界线变得模糊。 的精度,作为可取的方法而 常被采用。 计算量很大。 欲以三次卷积内插获得好的 图像效果,就要求位置校正 过程更准确,即对控制点选 取的均匀性要求更高。
k=Integer(x+0.5) l=Integer(y+0.5)
f(x,y)=f(k,l)
几何位置上的精度为±0.5像元
最邻近内插法以距内插点最近的观测点的像元值为 所求的像元值。该方法最大可产生0.5个像元的位置 误差,优点是不破坏原来的像元值,处理速度快。
II 双线性内插法
取(x,y)点周围的4邻点,在y方 向(或x方向)内插二次,再在x 方向(或y方向)内插一次,得到 (x,y)点的亮度值f(x,y), 该方法称双线性内插法。设4个邻 点分别为(i,j),(i,j+1),(i+1,j), (i+1,j+1),过(x,y)作直线与x轴 平行,与4邻点组成的边相交于点 (i,y)和(i+1,y)。先在y方向内 插,由f(i,j+1)和f(i,j)计算交点 的亮度f(i,y);由f(i+1,j+1)和 f(i+1,j) 计 算 交 点 的 亮 度 f(i+1,y) 。 然 后 计 算 x 方 向 , 以 f(i,y) 和 f(i+1,y) 来 内 插 f(x,y) 值。
计算机图形学13投影变换

将坐标原点平移到点(a,b)。
01
平行投影
02
俯投影视图 将立体向xoy面作正投影,此时Z坐标取0;
03
投影变换 平行投影
使水平投影面绕X轴旋转-90,使与正投影面处于同一平面; 最后让图形沿Z轴平移dx=tx , dy=ty; 将x轴、y轴反向以与U、V两坐标轴方向一致; 将坐标原点平移至点O
不平行于投影面的平行线的投影会汇聚到一个点,这个点称为灭点(Vanishing Point)。 坐标轴方向的平行线在投影面上形成的灭点称作主灭点。 一点透视有一个主灭点,即投影面与一个坐标轴正交,与另外两个坐标轴平行。 两点透视有两个主灭点,即投影面与两个坐标轴相交,与另一个坐标轴平行。 三点透视有三个主灭点,即投影面与三个坐标轴都相交。
湖北大学 数计学院
1
讨论(续):
2
类似,若主灭点在 Y 轴或 X 轴上,变换矩阵可分别写为:
二点透视投影的变换矩阵
湖北大学 数计学院
在变换矩阵中,第四列的p,q,r起透视变换作用 当p、q、r中有两个不为0时的透视变换称为二点透视变换。假定p!=0, r!=0, q=0; 将空间上一点(x,y,z)进行变换,可得如下结果:
7.4 投影变换 7.4.2 平行投影 斜平行投影求法
知投影方向矢量为(xp,yp,zp)
设形体被投影到XOY平面上
形体上的一点(x,y,z)在xoy平面上投影后→(xs,ys)
∵投影方向矢量为(xp,yp,zp)
∴投影线的参数方程为:
01
03
02
04
05
7.4 投影变换 7.4.2 平行投影 斜平行投影求法 因为 所以 若令
则矩阵式为:
投影图像畸变的一种校正方法

投 影 图像 畸 变 的 一种 校 正方 法
王 健 陈 文 艺。 王 波 。 陈 瑞 , , ,
(. 1 西安邮 电学院 通信与信 息工程学院, 西 西安 陕
2 西 安 邮 电 学 院 物联 网与 两 化 融合 研 究 院 , 西 西安 . 陕
70 2 ; 11 1
706 ; 10 1
坐 标位置 ; 最后 , 利用 灰度级 插值算 法来 确定该 坐标
1 几何 校 正 原理
本文 实 现几 何 校正 的过 程是 : 先 将 一 幅正 常 首
收 稿 日期 :0 0 8 0 2 1 —0 — 4
作者简介 : 王
健( 95 ) 男 , 1 8 一 , 硕士 研究生 , 究方 向: 研 通信 专 用集 成 电路 设计 , - i x 18 00 ( ao .o c ; Emal y 9 5 7 4 ̄y ho cm. n 陈文艺 :
(9 4) 男 , 16 一 , 教授 , 研究方向 : 通信专用集成 电路设计 、 数字图像 的实 时处理及传输技术 。
・
6 ・ 6
西
安
邮
电 学
院
学
报
2 1 年 1月 01
位 置 的灰 度值 , 将 它作 为输 出 图像 空 间中 当前 像 并
点, 同时也说 明当前 扫描线 上 的像 素 P点 映射 到原 输 入 图像空 间时落在 了界外 , 以在 原 输入 图像 空 所 间 中不 存在与 P点 相对应 的 C点 , 么就将 c点 的 那
2 1 Байду номын сангаас 1月 01 第 1卷 第 1 6 期
西 安 邮 电 学 院 学 报 J UR O NAL O IAN VE I OS SA E E OMMUNI A ONS F X ’ UNI RSTY OFP T ND T L C C TI
透视图像矫正方法

透视图像矫正方法图像矫正是图像处理中一项重要的技术,通过调整图像的投影变换,使其恢复到原本的几何形状。
透视图像矫正方法是其中的一种,它可以纠正由于透视投影而引起的形变,使得图像中的线条和几何形状呈正常的形态。
本文将介绍几种常见的透视图像矫正方法,包括基于几何变换的方法和基于相机校正的方法。
一、基于几何变换的透视图像矫正方法1. 小矩形区域矫正法小矩形区域矫正法是一种简单直观的透视图像矫正方法。
该方法假设图像中存在一小矩形区域,其四个边框线条呈直线且相互垂直。
通过确定这个小矩形区域的四个角点坐标,可以使用透视变换将其矫正为一个矩形。
具体操作步骤如下:(1) 在图像中选择一个小矩形区域,边框线条呈直线且相互垂直。
(2) 确定这个小矩形区域的四个角点坐标。
(3) 使用透视变换对整个图像进行矫正,使得小矩形区域成为一个矩形。
2. 单应性矩阵矫正法单应性矩阵矫正法是一种基于单应性变换的透视图像矫正方法。
该方法通过寻找两个图像平面之间的单应性变换关系,将透视图像矫正为正交投影。
具体操作步骤如下:(1) 在图像中选择4个点,构成一个矩形。
(2) 计算出这4个点在透视变换前后的坐标对应关系。
(3) 利用这些坐标对应关系,求解出一个3×3的单应性矩阵。
(4) 使用求解出的单应性矩阵对整个图像进行矫正,消除透视形变。
二、基于相机校正的透视图像矫正方法1. Pinhole相机模型Pinhole相机模型是一种简化的相机模型,它假设光线从一个小孔经过,投影到成像平面上。
这种模型下,透视投影可以通过几何关系进行推导和矫正。
具体操作步骤如下:(1) 建立透视投影和成像平面之间的几何关系。
(2) 根据透视投影的几何关系,推导出图像矫正的数学表达式。
(3) 利用推导出的数学表达式,对整个图像进行矫正,消除透视形变。
2. 摄像机标定法摄像机标定法是一种常见的基于相机校正的透视图像矫正方法。
该方法通过对摄像机进行标定,得到摄像机的内部和外部参数,并基于这些参数对图像进行校正。
投影变换(计算机图形学)资料

2009-2010-2:CG:SCUEC
10
正投影之三视图
当投影面与某个坐标轴垂直 时,得到的空间物体的投影 为正投影(三视图)
1. 三视图分为正视图、侧视图
和俯视图.
2. 对应的投影平面分别与x轴, y 轴,z轴垂直。
三视图
三视图常用于工程制图,因为在其上可以测量距离和
角度。但一个方向上的视图只反映物体的一个侧面,只有 将三个方向上的视图结合起来,才能综合出物体的空间结 构和形状。
2009-2010-2:CG:SCUEC
4
投影变换的概念
近平面
远平面 Z
X
投影平面 V′ U′
窗口 X′ Y′
Y 投影线
视点
透视投影
视点:三维空间中任意选择的一个点,亦称为投影中心 投影平面:不经过视点的任意一个平面 投影线:从视点向投影平面的引出的任意一条射线
2009-2010-2:CG:SCUEC
x
xq zc
yq
0
0 zc
xc yc
0 0
y z
xp
xq q
,
yp
yq q
q 0
0
1
zc
1
2009-2010-2:CG:SCUEC
8
平行投影
平行投影可以看成投影中心移向无穷远时的极限情况。
设给定的投影方向为( xd , yd , zd )。在要投影的对象附近任取一点
(xs , ys , zs),以此点为起点作一射线,其指向是投影方向的反方向,
oz 和 轴的单位方向向量为 (a11, a12 , a13 ) 、 (a21, a22 , a23 ) 和
(a31, a32 , a33 ) ,那么从坐标系oxyz到 o xyz 的变换是
基于图像空间变换和插值运算的投影仪梯形校正法

田敏雄, 沈庆宏, 曹凤莲, 都思丹, Tian Minxiong, Shen Qinghong, Cao Fenglian , Du Sidan 南京大学电子科学与工程系,南京,210093
电子测量技术 ELECTRONIC MEASUREMENT TECHNOLOGY 2007,30(3) 4次
型坐标,用该整数坐标对应的原图像像素值作为该目标图
像点的像素 值0近 邻 插 值 法 简 单 直 观,运 算 量 小,但 变 换
后的图像质量不高0
<2>双线性内插法 设一目的像素点通过坐标变换得到基于原图像的浮
点坐标为<i+u,j+ >,其中i和j 均为非负整数,u 和 为 [0,1]区间的浮点数,则目的像素的值f<i+u,j+ >可由
<3> < > ] /2,
式中:[A]=< <1+u> <u> <1-u> <2-u>>;
0< <
<4>
[B]
'f<i-1,j-1> f<i-1,j> f<i-1,j+1> f<i-1,j+2>U
f<i,j-1> f<i,j> f<i,j+1> f<i,j+2> ;
f<i+1,j-1> f<i+1,j> f<i+1,j+1> f<i+1,j+2>
Projectorkeystonecorrectionbasedonimagespace transformationandimageinterpolationalgorithm
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x向位移
x向 y向 z向透视变换结果
展开理解: 位移:|x y z 1| 1
1 1
Tx Ty Tz 1
= |x+ Tx,y+ Ty,z+ Tz , 1|
透视: x2 x1 , f fz
y2 y1 f fz
得: x2
fx1 f z
x1 1 z
θ
x1 x1
y3
β
x3 x3
y2
γ x2
任意旋转:
R R iR jR ki,j,k 1 ,2 ,3
注意到:
m11 m12 m13
R = m21 m22 m23
m31 m32 m33
只包括旋转。
进一步的(旋转、位移、透视、缩放)如何呢? [我们]引入齐次坐标系,扩展了非线性项—透视、位移
m11 m12 m13 m14 H = m21 m22 m23 m24
f
Z
y1
y2 z
p2
f
x2
p1 x1
焦点
| x1 y1 z
1| 1 1 0 1/f 1
= | x1 y1 0 1+z/f| z的透视变换结果
z WH 1 f
x1
y1
0 1 z f
WH
x1 WH
y1 WH
0 1 x2
y2
0 1WH
缩放:
| x1 y1 z1 1| m11 m22 m33 m44
=| m11x1 m22y1 m33z1 m44 |
[三维坐标中]饶x3转θ角 则有: L11= cosθ L12= cos(90°-θ) = sinθ L13=0 L21= cos(90°+θ) = -sinθ L22= cosθ L23= L31= L32= 0 = cos90° L33=1
y2
x2
x2
x
y1
y2
β y1 γ
x1
x1
x3 y2 x2
B cd
B* 两条平行线变换后是否仍平行?
x1 y1 x2 y2
a b = ax1+cy1 bx1+dy1 = x1* y1*
θ
θ
y1
x1
即:R= cosθ sinθ 0
-sinθ cosθ 0
0
01
矩阵正交条件:
n
1
aik a jk
k 1
0
i j
i
j
n
或: akiakj
k 1
1 0
i j i j
旋转阵R为正交矩阵
二维时:
y1 = cosθ sinθ x1
y2 -sinθ cosθ x2
有: x1 = cosθ –sinθ y1
m11x1+ m21y1+ m31z1+ m41-m14x1x2-m24y1x2-m34z1x2 = x2 m12x1+ m22y1+ m32z1+ m42-m14x1y2-m24y1y2-m34z1y2= y2
12个系数,仅有二个方程,需要6对点可解。
立体测量原理:
立体测量参照系统的标定空间:
| x1 y1 z1 1| m11 m12 0 m14
m21 m22 0 m24
矩阵A
m31 m32 0 m34 m41 m42 0 m44
= WH|x2 y2 0 1 |
矩阵C
矩阵B
讨论:
①给定mij及空间点A,可求C,即由三维求二维投影结果。 ②由B、C求A,即由两组不同的二维投影,可以算出三维空间坐 标,用于立体测距(两个相机相对关系确定,如二目测距)
01 绕x=y轴∣x y∣ 0 1 =∣y, x∣=∣x* y*∣
10
剪移:∣x y∣ 1 b = ∣x, bx+y∣ 01 = ∣x* y*∣
同样:∣x y∣ 1 0 = ∣cx+y ,y∣ c1 = ∣x* y*∣
y
bx y
p*(x,bx+y)
p(x,y) bx
x
2)直线变换--两个点的变换
A a b = A*
得 Y 与 X 间关系:
y1= L11 X1+ L12 X2+ L13 X3 y2= L21 X1+ L22 X2+ L23 X3 y3= L31 X1+ L32 X2+ L33 X3
如: y1 Y= y2 y3
则有Y = R X
L1 L11 L12 L13 R= L2 = L21 L22 L23
第三章 投影变换图像校正
3.1 投影变换:
任一两坐标系:X , Y
X :P=[X1,X2,X3]T Y :P1=[Y1,Y2,Y3]T 令两坐标系方向余弦为: L11--y1与x1之间的方向余弦(夹角余弦) L12--y1与x2之间的方向余弦 L13--y1与x3之间的方向余弦 ┋ Lij--yi与xj之间的方向余弦
[研究典型的变换关系、典型线性变换、二维面上的线性变换含义表 示及特征。]
1) 点变换
比例变换:[x y] a 0 0b
旧坐标
= ∣ax, by∣=∣x* y*∣ 新坐标
原点变换:∣x y∣ a b = ∣0 0∣
cd 翻转: 绕x轴∣x y∣ 1
=∣x, -y∣=∣x* y*∣
-1 绕y轴∣x y∣ -1 0 =∣-x, y∣=∣x* y*∣
③由A、C求B,由足够的空间点对及其二维投影可算出两坐标系 间的变换关系(mij)
[展开:] WH x2 = m11x1+ m21y1+ m31z1+ m41 WH y2 = m12x1+ m22y1+ m32z1+ m42 WH = m14x1+ m24y1+ m34z1+ m44
令m44=1,消去WH得:
L3 L31 L32 L33
x1
y1= L1 X=∣L11 L12 L13∣ x2
=
x3
L1 为X与y1之间的方向余弦
x1 X= x2
x3
到二维空间来理解: x1=x cos(β+γ) x2=x sin(β+γ) y1= x1 cosγ+ x2 cos(90°-γ) = x cosβ y2= - x1 sinγ+ x2 cosγ
x2 sinθ cosθ y2
三维时:
有:L112 + L122 + L132 =1
A
有:
A2(cos2α+ cos2β+ cos2γ)= A2 正交阵 RT = R-1
有: X = RTY
x1= L11y1+ L21y2+ L31y3 x2= L12y1+ L22y2+ L32y3 x3= L13y1+ L23y2+ L33y3
γ
αβ
绕x3、x2、x1旋转的矩阵、转角逆时针为正:
绕x3轴转θ角
y2
cosθ sinθ 0
R3= -sinθ cosθ 0
001
绕x2轴转β角
cosβ 0 -sinβ
y1
R2= 0
1
0
sinβ 0 cosβ
绕x1轴转γ角
10
0
R1= 0 cosγ sinγ
y3
0 - sinγ cosγ
x2 y1