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. 依赖管理系统 go modules

    golang在1.11版本中引入了新的包管理工具 go mod 类似于maven包管理(多项目公用),而之前的vendor类似于node的node_modules管理(各个项目一份) 依赖信息添加到g ...

  2. dlopen, dlsym今天才刚知道干什么用的,羞死人了

    dlopen, dlsym今天才刚知道干什么用的,羞死人了

  3. 数据集成、变换、归约及相关MATLAB工具箱函数

    数据预处理的主要内容包括数据清洗.数据集成.数据变换和数据规约,在数据挖掘的过程中,数据预处理工作量占到了整个过程的60%.数据清洗在上一篇博客中写过,这里主要写后面三部分. 数据集成 数据挖掘需要的 ...

  4. Java实现汉诺塔移动,只需传一个int值(汉诺塔的阶)

    public class HNT { public static void main(String[] args) { HNT a1 = new HNT(); a1.lToR(10); //给汉诺塔a ...

  5. kubernetes版本apiversion简单说明

    在使用yaml文件部署Deployment项目时,出现过 error: error validating "xx-Deployment.yaml": error validatin ...

  6. redis安装-备份-恢复

    1.安装参考:https://www.jb51.net/article/146744.htm 2.安装ruby2.3.3 .gpg2 --keyserver hkp://keys.gnupg.net ...

  7. codeforces 1249D1/D2 Too Many Segments (贪心)

    (点击此处查看原题) 题意说明 有n个区间,第i个区间覆盖范围[li,ri]内所有点,问删除最少哪些区间,使得所有点被区间覆盖的次数少于等于k次 解题思路 看到这个题的时候,觉得和开关(反转)问题很像 ...

  8. gitlab LFS 的应用实践

    今天看到的gitlab LFS的文档,将自己的理解整理成博客,加深自己的印象.具体gitlab LFS的介绍可以直接百度了,不在这里详细阐述.只提一下他的作用:LFS就是Large File Stor ...

  9. Windows 证书签名的伪造

    Windows 系统中的一些非常重要文件通常会被添加数字签名,其目的是用来防止被篡改,能确保用户通过互联网下载时能确信此代码没有被非法篡改和来源可信,从而保护了代码的完整性.保护了用户不会被病毒.恶意 ...

  10. NIO总结-----Buffer

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...