数码相机定位论文

上传人:飞*** 文档编号:2803304 上传时间:2017-07-27 格式:DOC 页数:22 大小:673.50KB
返回 下载 相关 举报
数码相机定位论文_第1页
第1页 / 共22页
数码相机定位论文_第2页
第2页 / 共22页
数码相机定位论文_第3页
第3页 / 共22页
数码相机定位论文_第4页
第4页 / 共22页
数码相机定位论文_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数码相机定位论文》由会员分享,可在线阅读,更多相关《数码相机定位论文(22页珍藏版)》请在金锄头文库上搜索。

1、数码相机定位摘要:本文针对如何确定圆的像的中点以及两部固定相机的相对的位置进行了研究分析,并且给出了相应的数学模型和算法。在问题求解之前,首先,运用 Matlab 将题目中所给的图像识别并用矩阵表示出来,为后面求解问题做好准备。针对问题一:首先,使用 Matlab 图像处理工具箱将圆的像的边缘曲线上的点抽取出来。然后,再以圆的像上的一个顶点为原点建立合适的坐标系。为了在穷举法中减少计算次数,我们将会把每个圆的像缩小到一个矩形的像区域,然后运用穷举法,列出像内过任意一点的内切圆,求出每个圆的半径,从中找出半径最大的那个圆,将它的圆心作为像的中心。针对问题二:根据问题一的模型,确定出圆心的位置,建

2、立相机坐标系。利用 Matlab 软件分别求得五个圆的圆心在像平面的像坐标为 A (-50.97,-49.48,417.20),B(-49.53,-22.76,417.20),C(-45.19 ,34.31 ,417.20),D( 29.28,59.60,417.20),E(31.45,19.14,417.20) 。针对问题三:要求设计一种方法检验模型,由定理知在同一条直线上的点,它们的所成的像也在同一直线上。靶标上的三个圆心 A、B、C 在同一条直线上,因此,靶标的像上这三点也应该在一条直线上。但是在确定圆心时,可能出现一些偏差,使得我们确定出来的圆心与圆的圆心的像不完全重合,从而导致A、B

3、、C 三点可能不在同一条直线上。通过求得 B 点到直线 AC 的距离,来确定三点之间的关系。当 时,三点共线,模型的精度最高;当 时, 的0d 0d值越大,模型的精度就越差。问题三的求解:根据问题二中求出的坐标,计算出像中 B 点到直线 AC 的距离即模型的精度 毫米,方法的.39786d(1)10%9.72ABCA稳 定 性针对问题四:要建立用图中靶标给出两部固定相机相对位置的数学模型和方法。可以用同一坐标系中把两个光心 、 的坐标分别表示出来,这样就可以求两1O2部相机的相对位置,两相机的相对位置可以用向量坐标来表示,它们的距离为 121212(,)momoomxyz。21O omodxy

4、z关键字:抽取边缘曲线 相机坐标系 穷举法 最小内切圆1.问题重述:数码相机定位在交通监管(电子警察)等方面有广泛的应用。所谓数码相机定位是指用数码相机摄制物体的相片确定物体表面某些特征点的位置。最常用的定位方法是双目定位,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。于是对双目定位,精确地确定两部相机的相对位置就是关键,这一过程称为系统标定。标定的一种做法是:在一块平板上画若干个点, 同时用这两部相机照相,分

5、别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点” 。实际的做法是在物平面上画若干个圆(称为靶标) ,它们的圆心就是几何的点了。而它们的像一般会变形,如图 1 所示,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。 图 1 靶标上圆的像有人设计靶标如下,取 1 个边长为 100mm 的正方形,分别以四个顶点(对应为 A、C 、D、E)为圆心,12mm 为半径作圆。以 AC 边上距离 A 点 30mm处的 B 为圆心, 12mm 为半径作圆,如图 2 所示。图 2 靶标示意

6、图用一位置固定的数码相机摄得其像,如图 3 所示。图 3 靶标的像请你们:(1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的光学中心, x-y 平面平行于像平面;(2) 对由图 2、图 3 分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即光学中心到像平面的距离)是 1577 个像素单位(1 毫米约为 3.78 个像素单位),相机分辨率为 1024768;(3) 设计一种方法检验你们的模型,并对方法的精度和稳定性进行讨论;(4) 建立用此靶标给出两部固定相机相对位置的数学模型和方法。2.问题分析图像处理:要解决数码相机

7、定位问题,首先,要在 Matlab 中编程将图 3 的图像识别出来,靶标的像在 Matlab 中储存为行为 375、列为 281 的矩阵, 行 列的矩MN阵中的每一个元素的数值即为图像点的亮度,数值为 1 的元素表示颜色为黑色,每个区域上所有的黑颜色的点元素的集合就构成了一个靶标的像;数值为 0 的地方代表颜色较浅的灰色。问题一分析:要确定靶标上圆的圆心在该相机像平面的像坐标,就需要建立相应的数学模型,找出与圆心的像相关的点。经过分析,我们可以利用靶标上像的边缘曲线上的点来求出圆心的像坐标。首先,在 Matlab 中读出的图像。再用 Matlab 工具箱分别提取出靶标的像上边缘曲线的点,由于靶

8、标像上的点的数值是 1,提取出来的边缘曲线上的点的数值 1 保持不变,将边缘内部的所有的像点去掉,即将它们的数值修改为 0 ,这样就可以用 01 矩阵将图像的信息表示出来。然后,以 Matlab 中图像的点数作为单位,建立图像坐标系,并且以图像的左上角的第一个点定为坐标的原点。在坐标系中尽可能的缩小靶标的像的范围,将它缩小到一个矩形的区域,这样我们就可以得到 5 个包含靶标像的小矩形区域。运用穷举法,在每个矩形区域内沿着边缘曲线作出每一个点的内切圆,求出每个圆的半径,从中选择出半径最长的那个内切圆,将它的圆心作为像的中心。但是由于这种算法,不好确定圆心的坐标。但是我们可以根据这个想法,从另一角

9、度来寻找像的中心点。先在像内任意取出一点,求出这点到边缘曲线上所有点的距离,从中选出一个最短的距离 ,我们可以以这点为圆心,以选出一个最短的距离为半径 作圆,r r得到一个像的内切圆。取遍圆的像内所有的点,重复上面的操作,这样就可以得到所有的内切圆,从中找出半径最大的内切圆,取它的圆心作为像的中心。这样,就可以找出圆的像的中心。问题二分析:问题二的求解可以使用问题一的模型,要计算靶标上圆的圆心在像平面上的像坐标,可以根据问题一中建立的相机平面坐标系,在 MATLAB 中抽取出圆的图像上边缘曲线的点,根据这些点,确定出圆的像的中心点。针对问题三:检验模型的精度:由于靶标上圆 A、B、C 的圆心在

10、同一条直线上,在数码相机拍摄的像上,这三个点的像也应该在同一条直线上,但由于确定出来的像的中心点与像的真正的中心点之间可能会有些偏差。因此,圆心 A、B、C 可能不在同一直线上。我们可以根据这三点之间的关系,运用点与直线的关系,确定 B 点与直线 AC 的关系。若 B 点在直线 AC 上,则表示模型的精度很高;若 B点不在直线 AC 上,求出 B 点与直线 AC 的距离 ,用 的大小来衡量点与直线d的偏离程度, 越小,精度越高。d模型的稳定性:我们定义一个相对误差计算公式 ,10%ABCAd当距离 为不同的值时,求出 对应的值。观察 值的变化情况, 变化越大模型的稳定性就越差, 变化越小模型的

11、稳定性就越好。针对问题四:根据靶标求两部固定相机相对位置,这是一个空间物体的定位问题。要求两个相机(我们假定相机的光学中心点的坐标代表相机坐标)的相对位置,因此应该在同一坐标系中把它们的坐标分别表示出来,然后就可以确定它们的相对位置了。我们考虑如下的思路求解:先只考虑以一部相机(即它的光学中心点) ,像平面,矩形标靶(即以原题图 2 中 A,C,D,E 为顶点的矩形)为研究系统。以光学中心点为原点建立的坐标系(以后简称相机坐标系)中根据已知的相关数据和几何关系可以求出靶标上各点的坐标,再在靶标上建立一个以靶标中心点为原点的坐标系(以后简称靶标坐标系) ,然后我们在靶标坐标系中求出该相机的坐标,

12、然后按照类似的方法可以求出另一个相机在靶标坐标系中的坐标。这样就把两个相机的位置(即坐标)在统一的坐标系(靶标坐标系)中表示出来了,那么它们的相对位置就可以根据它们的坐标求得了。根据第一、二小问,可以在坐标系中求出各个像的中心点的坐标,从而求出实物靶标上的各圆的圆心坐标,以及靶标所在的平面的方程。再以靶标为参考,建立三维坐标系,分别求出两部相机的光心的坐标,求出两部固定相机的相对位置。3.基本假设(1)假设在 Matlab 中读出的图像的分辨率与相机拍的像分辨率对应成比例;(2)假设圆的像内的最大的内切圆的圆心可以作为像的中心点;4.符号说明(1) , :分别表示以像素、长度为单位的图像坐标系

13、;0uOv0(2) :表示建立的相机的坐标轴;XYZ(3) :表示 B 点到直线 AC 的距离;d(4) :问题三中求解出的模型的稳定性;(5) 、 :分别表示问题四中以靶标为参11(,)mooxyz22(,)mooOxyz考坐标系中两个相机光心坐标;(6)E、F、G:靶标参考平面的方程的系数;5.模型建立与求解5.1 模型一的准备5.1.1 图像坐标系 【1】 的确定:由于每幅数字图像在计算机内的存储为 数组, 行 列的图像中的MN每一个元素的数值即为图像点的亮度。如下图一所示,在图像上定义直角坐标系 ,每一像素的坐标 分别是该像素在数组中的列数与行数。所以,0uOv(u,v)是以像素为单位

14、的图像坐标系。由于 只表示像素位于数组中的列数与(,) (u,v)行数,并没有用物理单位表示出该像素中的位置,因而,需要在建立以长度(毫米)单位表示的图像坐标系。该坐标系以图像内某一点 为原点, 轴和1Ox轴分别与 轴平行。在 、 坐标系中,原点 定义在摄像机光轴与图像yu,vxy1平面的交点,该点一般位于图像中心处,但由于摄像机制作的原因,也会有些偏离,若 在 坐标系中的坐标为 ,每一个像素在 轴与 轴方向上1O, 0(u,v)xy的物理尺寸为 , ,则图像中任意一个像素在两个坐标系下的坐标有如下关dxy系:0xud0yvd图一:分别以像素、物理长度为单位的图形坐标系为了方便使用,可以用齐次

15、坐标与矩阵形式将上式表示为: 011udxuxvvy逆关系可写成: 011xduxyyv5.1.2 相机坐标系:过图像的中心点作像平面的垂线,在垂线上取一点 作为相机的光心,使O点到像平面的距离为 ,即相机的像距,以相机的光轴为 轴, 轴和 轴Ol ZXY分别平行与图像的 轴和 轴,由点 分别与 轴形成的直角坐标系称xyOXY、 、为相机坐标系,如下图所示:5.2 模型一的建立:(问题一的求解)要确定靶标上圆的圆心在该相机像平面的像坐标,但由于我们不知道靶标上每个圆所成的像是什么图形,我们认为靶标上圆的圆心在该相机像平面的像为对应圆所成像的最大内切圆的圆心,因此,需要求出最大的内切圆的半径。首

16、先,我们知道题目提供的 bmp 图由 个取样点组成,每个()MN行 ( 列 )取样点是组成数字图像的基本单位,称为像素。我们利用 MATLAB 工具箱对图像进行处理,分别抽取出圆所成的像的边缘图形,并且得到一个 矩阵01(0 为黑色,1 为白色) ,图像如下:;然后, 在坐标系中缩小靶标的像的范围,将它缩小到一个矩形的区域,这样我们就可以得到 5 个包含靶标像的小矩形区域,搜索出每一个圆所成像的像素坐标的大致范围,如下图:最后,运用穷举法,在每个矩形区域内沿着边缘曲线作出每一个点的内切圆,求出每个圆的半径,从中选择出半径最长的那个内切圆,将它的圆心作为像的中心。但是由于这种算法,不好确定圆心的坐标。所以,我们又根据这个想法从另一角度来寻找像的中心点。先在像内任意取出一点,求出这点到边缘曲线上所有点的距离,从中选出一个最短的距离 ,我们可

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 期刊/会议论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号