2019 年第十六届中国研究生数学建模竞赛C 题

任务1中 图三:图3 中拍照者距离地面的高度

目录:

0.试题分析:

1.构建摄像机模型

2.摄像机参数假定

3.像平面坐标计算

4.图像标定及数值测量

5.计算

6.总结其中误差

0.试题分析:

试题涉及内容为:图像处理之图像理解——摄像机成像

1.构建摄像机模型:

一般摄像机模型(世界坐标系统与摄像机坐标系统不重合时的投影成像示意图)

摄像机观察3D 场景示意图

2.摄像机参数假定:

设摄像头中心位置为(0,0,1),摄像机的焦距为0.05m,扫视角为135度(考虑广角镜头:视角在90度以上),倾斜角为135度,目的为了确定此时空间中的点(1,1,0)的像平面坐标。

即:λ=0.05;γ=135度;α=135度;Dx=0;Dy=0;Dz=1;X=1;Y=1;Z=1

3.像平面坐标计算:

代入1中最后的公式计算得:x = 0 m,y = 0.00884 m

4.图像标定及数值测量

此图像为525像素*394像素,即13.89厘米*10.42厘米。而我的计算机屏幕目前放置此图片大小为26厘米*19.5厘米。

在图片正中间选中如图所示的区域。此区域是矩形,在26厘米*19.5厘米去测量,大概上边的边是汽车的车尾到车头右侧的距离:3.4 cm,下边的是马路两个栅栏的距离:3.6 cm。

求平均:(3.4 cm+3.6 cm)/2 = 3.5 cm

实际估算(世界坐标系下):汽车的车尾到车头右侧的距离4.2 m,下边的是马路两个栅栏的距离2 m。此考虑的是实际的水平长度。

求平均:(4.5 m+ 2 m)/2 = 3.25 m

这里有个偏差需要注意,就是栏杆和车都不是与图片上下边界(即所圈出的长方形边界)平行,而是有一定的旋转角度,这个需要考虑:

圈出图片左下角,去计算偏离的角度:在26厘米*19.5厘米去测量,斜边为8.5 cm,下边的那条直角边为7.5 cm;

所以夹角θ余弦为:7.5/8.5=0.882。

所以实际的水平距离是:3.5 cm * 0.882 = 3.087cm

实际的图片中斜的长度:3.25 m /0.882 = 3.685m

5.计算

图像尺寸:13.89厘米*10.42厘米

实际(我测量用的)26厘米*19.5厘米

考虑水平方向,所以图片中矩形框中间部分的长度为:13.89 cm * 3.087cm / 26cm = 1.649 cm

由3.像平面坐标计算:最后的公式计算得:x = 0 m,y = -0.00884 m,去估算水平距离。

由比例公式得:

3.685m — — 1.649 cm

X        — — 0.00884 m

3.685m = 368.5 cm, 所以 X = 368.5 cm * 0.00884 m / 1.649 cm = 1.975 m

6.总结其中误差

1)用0.00884 m去估算水平距离存在误差

2)图片中心标注不准确,矩形框计算比较粗略,存在误差

3)还有两个因素未考虑:摄像头镜头的失真和计算机中使用的图像坐标单位是离散的像素,所以对像平面的坐标计算需要取整。

4)参数估计中:摄像机参数,栏杆长度,汽车长度的参数估计有偏差。

参考:

1.数字图像处理(第三版)——冈萨雷斯

2.图像工程(第四版)——章毓晋

2019年C题 视觉情报信息分析的更多相关文章

  1. $2019$ 暑期刷题记录1:(算法竞赛DP练习)

    $ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...

  2. DA - 信息分析思路概要

    要素 局部 --->整体 显性 --->隐性 表面 --->本质 割裂 --->联系 特殊 --->普遍 串行 --->并发 纵向 --->横向 单点 --- ...

  3. javaweb学习总结十九(http协议概述以及http请求信息分析)

    一:http协议概述 1:http协议定义 2:使用telnet程序连接web服务器,获取资源 3:http协议:超文本传输协议,它是基于tcp/ip协议,就是建立在tcp/ip之上工作的, http ...

  4. linux驱动调试--段错误之oops信息分析

    linux驱动调试--段错误之oops信息分析 http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29401328&id= ...

  5. 基于‘BOSS直聘的招聘信息’分析企业到底需要什么样的PHP程序员

    原文地址:http://www.jtahstu.com/blog/scrapy_zhipin_php.html 基于'BOSS直聘的招聘信息'分析企业到底需要什么样的PHP程序员 标签(空格分隔): ...

  6. Info - 信息分析思路概要

    信息分析要素 局部 --->整体 显性 --->隐性 表面 --->本质 割裂 --->联系 特殊 --->普遍 串行 --->并发 纵向 --->横向 单点 ...

  7. 网页图表Highcharts实践教程标之添加题副标题版权信息

    网页图表Highcharts实践教程标之添加题副标题版权信息 Highcharts辅助元素 辅助元素图表的非必要元素,如标题.版权信息.标签.载入动态.它们不和图表数据发生关联,只是额外说明一些基本信 ...

  8. 多线程_java多线程环境下栈信息分析思路

    导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事.下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析 ...

  9. ​网页图表Highcharts实践教程标之加入题副标题版权信息

    ​网页图表Highcharts实践教程标之加入题副标题版权信息 Highcharts辅助元素 辅助元素图表的非必要元素.如标题.版权信息.标签.加载动态.它们不和图表数据发生关联,仅仅是额外说明一些基 ...

随机推荐

  1. 解决 Windows启动时要求验证

    KB971033 微软检测盗版jar SLMGR -REARM 出现Window启动时要求验证版本, 在cmd窗口输入命令重新配置 重新启动即可 出现错误:解决办法 开始→设置,打开控制面板的“添加和 ...

  2. 使用dd命令克隆整个Linux系统

    参考:https://www.cnblogs.com/jikexianfeng/p/6103504.html 本次使用使用dd命令克隆整个Ubuntu系统 1,VM安装一台Ubuntu虚拟机 过程不详 ...

  3. Spark快速大数据分析之RDD基础

    Spark 中的RDD 就是一个不可变的分布式对象集合.每个RDD 都被分为多个分区,这些分区运行在集群中的不同节点上.RDD 可以包含Python.Java.Scala中任意类型的对象,甚至可以包含 ...

  4. flask蓝图blueprint是什么

    蓝图 blueprint 简单的说,就是帮助我们对flask程序进行目录结构的划分:django项目创建时,是自动生成项目目录,而在flask这里,需要我们自己来规划,这就需要blueprint来将整 ...

  5. 基于Keras 的VGG16神经网络模型的Mnist数据集识别并使用GPU加速

    这段话放在前面:之前一种用的Pytorch,用着还挺爽,感觉挺方便的,但是在最近文献的时候,很多实验都是基于Google 的Keras的,所以抽空学了下Keras,学了之后才发现Keras相比Pyto ...

  6. WIN10家庭版添加"本地安全策略"

    新建文本文件 输入一下命令 @echo off pushd "%~dp0" dir /b C:\Windows\servicing\Packages\Microsoft-Windo ...

  7. JavaSE基础(八)--Java 循环结构

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  8. 【转帖】sysbench压力测试工具简介

    sysbench压力测试工具简介 https://www.cnblogs.com/pdlife/p/6698957.html 一.sysbench压力测试工具简介: sysbench是一个开源的.模块 ...

  9. oracle索引2

    问什么问题? 索引有什么代价?哪些场景下你需要建索引?或者有时候反过来问,哪些场景下不推荐建索引. 建好索引之后,怎么才能最高效地利用索引?或者反过来问,请说出一个无法有效利用已建索引的案例. 索引的 ...

  10. vue去掉链接中的#

    在router.js中修改, const router = new VueRouter({ mode: 'history', routes: [...] })