一种近似方法将场地坐标转为像素坐标
一种近似方法将场地坐标转为像素坐标
先上代码:
for (int i = 0;i < WIDTH;i++){for (int j = 0;j < HEIGHT;j++){nNewi = int((pMain->ground.groundInfo[i][j].x - GROUND_WIDTH / 2)*5.4) + WIDTH / 2;nNewj = int((pMain->ground.groundInfo[i][j].y - GROUND_HEIGHT / 2)*5.4 ) + HEIGHT / 2;//5.4代表着场地坐标一厘米占据5.4个像素.根据短边180厘米占据大恒相机1000个像素左右算出//这样将场地坐标大致转为像素坐标,画出来的图和原图大小相似(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtRed = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtRed;(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtGreen = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtGreen;(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtBlue = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtBlue;}}
场景介绍
在我们现在的场景之下:相机光心和长方形场地中心几乎共线且成像面和场地平面几乎平行,那可以用一种近似方法将场地坐标转换为像素坐标。
下面的代码中,ground.groundInfo[i][j]为标定后存放的真实场地坐标(世界坐标),我们在这种情况下,将世界坐标的z坐标设为0。
我们这一段代码的目的就是用pBoundset存入标定之后的图像(矫正畸变后的图像),然后显示出来,这就要我们从标定算法算出来的世界坐标转换到像素坐标用来显示。
转换方法
前两行的代码的意义就是:求出未矫正图片中像素(i,j)对应的矫正后的像素点(nNewi,nNewj)。而ground.groundInfo[i][j]是以左上角为原点的坐标,GROUND_WIDTH和GROUND_HEIGHT是场地的长和宽,减去运算之后就转成了以中心点为原点的坐标,5.4代表着场地坐标一厘米占据5.4个像素.根据短边180厘米占据大恒相机1000个像素左右算出,这样将场地坐标大致转为像素坐标,画出来的图和原图大小相似。
nNewi = int((pMain->ground.groundInfo[i][j].x - GROUND_WIDTH / 2)*5.4) + WIDTH / 2;
nNewj = int((pMain->ground.groundInfo[i][j].y - GROUND_HEIGHT / 2)*5.4 ) + HEIGHT / 2;
转换图片
第三和第四行和第五行代码作用就是用pBoundset存入标定之后的图像(矫正畸变后的图像)
(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtRed = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtRed;
(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtGreen = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtGreen;
(pBoundset + nNewi + (HEIGHT - 1 - nNewj) * WIDTH)->rgbtBlue = (pOrigin + i + (HEIGHT - 1 - j) * WIDTH)->rgbtBlue;
一种近似方法将场地坐标转为像素坐标相关推荐
- 高德地图轨迹回放、点的弹跳效果、浏览器环境监测、设置地图的主题样式、GPS坐标转为高德坐标、地图加载提示、地图DOM事件、修改图层等API接口
1.轨迹回放 https://lbs.amap.com/api/javascript-api/example/marker/replaying-historical-running-data 2.点的 ...
- 经纬度坐标转换成px_经纬度坐标转像素坐标
"```\n// 经纬度坐标转像素坐标\nfunction latlng2px(lat, lng) {\n var LatLng = (function(){\n function LatL ...
- matlab 相机焦距,世界坐标、相机坐标、图像坐标、像素坐标的原理、关系,并用matlab仿真...
照相机是日常生活中最常见的.它能把三维的空间图片等比例缩小投影在照片上,称为一个二维图像. 以下我们就讲一讲原理,并相应的进行matlab仿真. 在学之前,先要了解几个概念: 什么是世界坐标? 也就是 ...
- gcj02坐标转为wgs84坐标
//定义一些常量 const PI = 3.1415926535897932384626 const a = 6378245.0 // 长半轴 const ee = 0.006693421622965 ...
- (一)GDAL计算图像坐标与像素坐标之间的关系
1. 原理 使用GDAL处理地理图像时,不可避免的会遇到一个问题,图像的地理坐标问题,因为有了这个地理坐标,地理图像才和普通图像有了最本质的区别,那么在使用GDAL时,如果处理与地理坐标相关的信息呢? ...
- 相机模型之世界坐标、相机坐标、归一化坐标、图像坐标、像素坐标、内参、外参、转换关系总结
2021.04.12重新修改版:
- 光学成像模型\和物距、像距、焦距、三者关系\和世界坐标、相机坐标、图像坐标、像素坐标关系\和图像畸变标定处理(二)
来自百度百科:https://zhidao.baidu.com/question/55907940.html 原文链接:https://blog.csdn.net/qq_35250841/articl ...
- 格子地图 像素坐标 地图坐标 转化
/*** 像素坐标转换为地图坐标* */public SpaceToTiled(point: egret.Point): egret.Point {var y = Math.floor(point.y ...
- GPS坐标转百度坐标总结
我就直接把我整理的模块摆上去吧!有需要的可以直接复制过去导入就可以用了. /*** 采用百度地图的转换方法,向百度地图服务器请求转换结果,* 普通用户有次数限制,另外异步转换,改方法可以无限转换,* ...
最新文章
- 持续交付会如何影响测试
- TableCellRenderer和TableCellEditor(一)
- 前端攻城狮学习笔记七:常见前端面试题之HTML/CSS部分(二)
- 【java笔记】IDEA debug调试
- 深度学习(三)----算法岗面试题
- Excel:合并两个单元格内容
- 关于商城商品表设计(一)
- Bootstrap框架----标签Tag输入用法--Bootstrap-tagsinput
- 推荐 :如何全面解析数据并创造数据故事
- AutoResetEvent与ManualResetEvent区别
- 面向过程、基于对象、面向对象、分析
- 解决‘vue‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件的方法
- 从0到1一个文件,用Python 实现 Web 框架
- matlab去除大跳变,一种快速灰度校正算法(处理亮度不均等情况)(含MATLAB代码)...
- 信道检测手机软件 ios_如何在iOS设备上用PS4或Xbox One的手柄玩游戏?
- 上行参考信号-SRS
- Qt Linguist 介绍和简单应用
- 查看网页原代码时遇到中文汉字乱码
- 在GT 820M显卡的笔记本上安装PyTorch的尝试
- JS数据库:手机处理器列表