摄像机标定04_从单幅图像中提取世界坐标

2024-04-10 21:58

本文主要是介绍摄像机标定04_从单幅图像中提取世界坐标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从单幅图像中提取世界坐标

从原理上来说,使用标定后的摄像机可以在世界坐标系内进行未失真的测量。一般情况下只有使用多个摄像机在不同空间位置上同时拍摄同一物体的两幅或多幅图像,才可以进行这种测量,这种方式被称为立体重构。使用这种方法重构两幅图像中对应点的三维位置是可以实现的,因为两个摄像机光心与两幅图像中在成像平面上的对应点可以定义两条光线,这两条光线在三维空间中的交点就是图像中相应点的三维位置。
要是只有一个摄像机呢?
第一就是使用远心镜头拍摄被测物体;
第二就是如果使用针孔摄像机或线阵摄像机,此时必须将被测物体放在一个已知平面上(如传送带 )上。
这两种情况都可以通过光线(视线)与已知被测平面相交来解决问题。就算测量平面与光轴之间有一定的倾斜角度,也可以进行测量。

(1)使用远心镜头拍摄被测物体:这种情况下,平行投影完全不受深度信息的影响。因此,不能得到物体在摄像机坐标系中的 z 坐标。然而我们可以得到物体在摄像机坐标系中的x y 坐标,也就得到了物体在世界坐标系中的尺寸。将点Pc看做是世界坐标系中的一个点即可,为了求得 Pc 的坐标,我们可以首先将该点从图像坐标系转换到成像平面坐标系:

(uv¯)=(sx(ccx)sy(rcy))

然后消除径向畸变的影响,得到成像平面上未失真的坐标 (u,v)T ,最终计算得到点 Pc 的坐标为:
Pc=(xc,yc,zc)T=(u,v,0)T

注意上面的方法其实就相当于通过点 (u,v,0)T 并且于成像平面 (0,0,1)T 垂直的光线与平面 z=0 相交得到的交点。
(2)使用针孔摄像机确定目标物体的世界坐标稍微复杂一些,不过原理相同,也是将光线与已知平面相交。
在很多应用中,被测物体都放在摄像机前面的一个平面上,如传送带。如果我们想在这个平面上测量物体,那么就需要得到这个平面所定义的世界坐标系中的坐标。原理上讲,我们需要使用图像上某点所对应的的光线与该测量平面相交。所以我们需要知道定义该光线的两个点。从透视投影的模型中易知,第一个点就是摄像机的投影光心,在摄像机坐标系中的坐标为 (0,0,0)T 。第二个点的坐标我们需要将点 (r,c)T 从图像坐标系转换到成像平面坐标系中。为了得到该点在成像平面上对应的空间点坐标,我们要考虑成像平面在光心前,距离光心 f 处,因此,光线上第二个点的坐标为(u,v,f)T。因此,我们可以使用下式来表示摄像机坐标系中的这条光线:
Lc=(0,0,0)T+λ(u,v,f)T

为了将这条光线与测量平面相交,最好将光线 Lc 的方程建立在世界坐标系中,因为在世界坐标系中测量平面就是 z=0 。因此我们需要将两个点 (0,0,0)T (u,v,f)T 转化到世界坐标系中。
Pc=RPw+T 的逆变换
Pw=R1(PcT)=RT(PcT)

式中, R1=RT Pc=RPw+T 中旋转矩阵 R 的逆矩阵。我们称转换后的光心为Ow,也就是说
Ow=RT((0,0,0)TT)=RTT 。将转换到成像平面上的点称为 Iw ,也就是说 Iw=RT((u,v,f)TT) ,这时,这条光线在世界坐标系中表示为
Lw=Ow+λ(IwOw)=Ow+λDw

式中, Dw 表示光线的方向向量。由此得到光线与测量平面 z=0 的交点了,交点的坐标为:
Pw=oxozdx/dzoyozdy/dz0

式中,
Ow=(ox,oy,oz)T
Dw=(dx,dy,dz)T

以上所讨论都是基于被测物体的测量平面的位姿已知。幸运的是由于我们使用平面标定对象,可以通过摄像机标定得到这个位姿。如果在用来标定的其中一幅图像中标定板直接放在测量平面上(如传送带)上,那么这幅图像中标定板的外参基本就等同于上面所需要的测量平面的位姿。当然只有标定对象厚度可以忽略的情况下,才能直接使用标定对象的外参作为测量平面的位姿。如果考虑到标定对象的厚度,这个外参确定的世界坐标系必须沿其 z 轴正方向在移动标定板的厚度。

除了可以将图像中某些点转换到世界坐标系中,例如将一维边缘位置或亚像素精度轮廓线转换到世界坐标系中,还可以将图像本身转换到世界坐标系中。这个转换得到的图像就相当于摄像机在于世界平面绝对垂直并且镜头不存在任何畸变的情况下拍摄得到的图像。这种图像校正在一些需要使用图像本身进行处理的应用中非常有用,例如需要在校正后的图像中进行区域处理、模块匹配或光学字符识别(OCR)等。为了进行图像校正,原理上我们在世界坐标系中平面z=0中截取一个矩形区域,然后在矩形区域中每隔一个指定距离( 200um )抽取一个点。这些抽取样点使用相应的摄像机模型投影到图像中,然后通过插值算法(如双线性内插算法)得到该点的灰度值。
这里写图片描述

这篇关于摄像机标定04_从单幅图像中提取世界坐标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892254

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

浙大数据结构:04-树7 二叉搜索树的操作集

这道题答案都在PPT上,所以先学会再写的话并不难。 1、BinTree Insert( BinTree BST, ElementType X ) 递归实现,小就进左子树,大就进右子树。 为空就新建结点插入。 BinTree Insert( BinTree BST, ElementType X ){if(!BST){BST=(BinTree)malloc(sizeof(struct TNo

ROS - C++实现RosBag包回放/提取

文章目录 1. 回放原理2. 回放/提取 多个话题3. 回放/提取数据包,并实时发布 1. 回放原理 #include <ros/ros.h>#include <rosbag/bag.h>#include <std_msgs/String.h>int main(int argc, char** argv){// 初始化ROS节点ros::init(argc, argv,

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一个概念才有意义 1.3. 概念依赖关系图简要概括了软件的概念和概念存在的理

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

解析apollo纵向控制标定表程序

百度apollo采用标定表描述车辆速度、加速度与油门/刹车之间的关系。该表可使无人车根据当前车速与期望加速度得到合适的油门/刹车开合度。除了文献《Baidu Apollo Auto-Calibration System - An Industry-Level Data-Driven and Learning based Vehicle Longitude Dynamic Calibrating

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检