首页 > 其他分享 >相机模型浅析

相机模型浅析

时间:2024-04-09 20:31:56浏览次数:33  
标签:begin end 模型 坐标系 相机 bmatrix 图像 浅析

相机模型

文章目录

四个坐标系

①世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,我们需要世界坐标系这个基准坐标系来描述数码相机的位置,并且用它来描述安放在此三维环境中的其它任何物体的位置,用 ( X w , Y w , Z w ) (X_w, Y_w, Z_w) (Xw​,Yw​,Zw​)表示其坐标值。

②相机坐标系(光心坐标系):以相机的光心为坐标原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,相机的光轴为Z 轴,用 ( X c , Y c , Z c ) (X_c, Y_c, Z_c) (Xc​,Yc​,Zc​)表示其坐标值。

③图像坐标系:以CCD 图像平面的中心为坐标原点,X轴和Y 轴分别平行于图像平面的两条垂直边,用 ( x , y ) ( x , y ) (x,y)表示其坐标值。图像坐标系是用物理单位(例如毫米)表示像素在图像中的位置。

④像素坐标系:以 CCD 图像平面的左上角顶点为原点,X 轴和Y 轴分别平行于图像坐标系的 X 轴和Y 轴,用 ( u , v ) (u , v ) (u,v)表示其坐标值。

针孔相机模型

相机实质上就是完成一个3D空间到2D平面的投影的过程其中投影中心称为摄像机中心 ,也称为光心摄像机中心到图像平面的垂线称为摄像机的主轴或主射线 ,而主轴在图像平面的交点称为主点。过摄像机中心平行于图像平面的平面称为摄像机的主平面。

image-20240409190853397

世界坐标系到相机坐标系

image-20240409195432878

一般, 空间点采用不同的欧氏坐标系表示 ,称为世界坐标系。其中世界坐标系于相机坐标系通过旋转和平移相联系

因为可以将相机坐标系看作世界坐标系的一个欧式变换,设一个点 A A A在世界坐标系中的坐标为 [ X w , Y w , Z w , 1 ] T [X_w,Y_w,Z_w,1]^T [Xw​,Yw​,Zw​,1]T,在相机坐标系中的坐标为 [ X c , Y c , Z c , 1 ] T [X_c,Y_c,Z_c,1]^T [Xc​,Yc​,Zc​,1]T,则存在以下关系
[ X c Y c Z c 1 ] = [ R t 0 T 1 ] [ X w Y w Z w 1 ] \begin{bmatrix} X_c\\ Y_c\\ Z_c\\ 1 \end{bmatrix}= \begin{bmatrix} R&t\\ 0^T&1 \end{bmatrix} \begin{bmatrix} X_w\\ Y_w\\ Z_w\\ 1 \end{bmatrix} ​Xc​Yc​Zc​1​ ​=[R0T​t1​] ​Xw​Yw​Zw​1​
其中 R , t R,t R,t称为相机的外部参数,并将 [ R t 0 T 1 ] \begin{bmatrix} R&t\\ 0^T&1 \end{bmatrix} [R0T​t1​]即为 M e x t M_{ext} Mext​

相机坐标系到图像坐标系

image-20240409194023129

根据相似三角形可得 ∥ O C ∥ ∥ A B ∥ = ∥ O O ∥ ∥ O A ∥ = ∥ O C ∥ ∥ O B ∥ = ∥ x C ∥ ∥ X B ∥ \frac{\|OC\|}{\|AB\|}=\frac{\|OO\|}{\|OA\|}=\frac{\|OC\|}{\|OB\|}=\frac{\|xC\|}{\|XB\|} ∥AB∥∥OC∥​=∥OA∥∥OO∥​=∥OB∥∥OC∥​=∥XB∥∥xC∥​

可得在相机坐标系中的点 ( X c , Y c , Z c ) (X_c,Y_c,Z_c) (Xc​,Yc​,Zc​)在图像平面上的投影为 ( f X c Z c , f Y c Z c ) (f\frac{X_c}{Z_c},f\frac{Y_c}{Z_c}) (fZc​Xc​​,fZc​Yc​​),其中在齐次坐标中表示为 ( f X c , f Y c , Z c ) (fX_c,fY_c,Z_c) (fXc​,fYc​,Zc​)

可构造方程
[ f X c f Y c Z c ] = [ f 0 f 0 1 0 ] [ X c Y c Z c 1 ] \begin{bmatrix} fX_c\\ fY_c\\ Z_c \end{bmatrix} =\begin{bmatrix}f&&&0\\&f&&0\\&&1&0\end{bmatrix}\begin{bmatrix}X_c\\Y_c\\Z_c\\1\end{bmatrix} ​fXc​fYc​Zc​​ ​= ​f​f​1​000​ ​Xc​Yc​Zc​1​
其中矩阵 [ f 0 f 0 1 0 ] \begin{bmatrix} f&&&0\\ &f&&0\\ &&1&0 \end{bmatrix} ​f​f​1​000​ ​记为 M p r o j M_{proj} Mproj​

图像坐标到像素坐标

image-20240409195339999

可得以下关系
[ u v 1 ] = [ k u 0 l v 0 1 ] [ x y 1 ] \begin{bmatrix} u\\ v\\ 1 \end{bmatrix} =\begin{bmatrix} k&&u_0\\ &l&v_0\\ &&1 \end{bmatrix} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} ​uv1​ ​= ​k​l​u0​v0​1​ ​xy1​
其中 k k k和 l l l分别是每个像素在图像平面x和 y方向上的物理尺寸。

其中将矩阵 [ k u 0 l v 0 1 ] \begin{bmatrix} k&&u_0\\ &l&v_0\\ &&1 \end{bmatrix} ​k​l​u0​v0​1​ ​记为 M a f f M_{aff} Maff​​

image-20240409201002059

若 u , v u,v u,v不垂直,其夹角为 θ \theta θ。则 M a f f = [ k − k cos ⁡ θ u 0 l / sin ⁡ θ v 0 1 ] M_{aff}=\begin{bmatrix} k&-k\cos\theta&u_0\\ &l/\sin\theta&v_0\\ &&1 \end{bmatrix} Maff​= ​k​−kcosθl/sinθ​u0​v0​1​

image-20240409201104193

标签:begin,end,模型,坐标系,相机,bmatrix,图像,浅析
From: https://blog.csdn.net/qq_43309286/article/details/137566033

相关文章

  • 【前沿模型解析】潜在扩散模型 2-3 | 手撕感知图像压缩 基础块 自注意力块
    1注意力机制回顾同ResNet一样,注意力机制应该也是神经网络最重要的一部分了。想象一下你在观看一场电影,但你的朋友在给你发短信。虽然你正在专心观看电影,但当你听到手机响起时,你会停下来查看短信,然后这时候电影的内容就会被忽略。这就是注意力机制的工作原理。在处理输入......
  • 通过termux tailscale huggingface 来手把手一步一步在手机上部署LLAMA2-7b和LLAMA2-7
    前言首先截图一下我的小米手机的配置我这个配置其实一般,当时主要为了存储空间大,而我对配置要求又不高,买的。在手机上安装termuxapp,然后在termux上就可以使用各种命令进行安装和使用,就像在linux操作系统上一样了。再通过termux安装上openssh,这样你就可以在window、mac等电......
  • CSS -层叠性、继承性、盒子模型、盒子模型表格、盒子模型margin、盒子阴影
    层叠性CSS层叠性(Cascading)是指在网页中应用多个样式规则时,根据一定的规则来确定最终应用的样式。层叠性使得样式可以按照一定的优先级和规则进行组合和覆盖,从而实现对元素的样式控制。层叠性的影响因素:选择器的特殊性(Specificity):选择器的特殊性决定了样式规则的优先级。......
  • 54、C++内存模型
    在 C++ 中,程序运行时,内存主要分成四个区,分别是栈、堆、数据段和代码段。                栈:存储局部变量、函数参数和返回值。堆:存储动态开辟内存的变量。数据段:存储全局变量和静态变量。代码段:存储可执行程序的代码和常量(例如字符常量),此存储区不可修......
  • 决策树模型(4)Cart算法
    Cart算法Cart是Classificationandregressiontree的缩写,即分类回归树。它和前面的ID3,C4.5等算法思想一致都是通过对输入空间进行递归划分并确定每个单元上预测的概率分布,进而进行回归和分类任务。只不过由于任务的不同,所以回归树和分类树的划分准则并不相同。Cart生成回归......
  • 运用预训练 Keras 模型来处理图像分类请求,学习如何使用从 Keras 创建 SavedModel
    前置import'''importosimporttempfilefrommatplotlibimportpyplotaspltimportnumpyasnpimporttensorflowastftmpdir=tempfile.mkdtemp()'''介绍如何用keras检测自己找的图片'''file=tf.keras.utils.get_file(&quo......
  • R语言多元Copula GARCH 模型时间序列预测|附代码数据
    原文链接  http://tecdat.cn/?p=2623原文出处:拓端数据部落公众号 最近我们被要求撰写关于CopulaGARCH的研究报告,包括一些图形和统计输出。和宏观经济数据不同,金融市场上多为高频数据,比如股票收益率序列。直观的来说,后者是比前者“波动”更多且随机波动的序列,在一元或多元......
  • HSPF(Hydrological Simulation Program Fortran)模型
    HSPF模型与SWAT模型一样都是著名的水文模型软件,在世界各地的水文模拟中得到广泛的应用。由于种种原因,HSPF模型在国内的影响力不如SWAT;但是,HSPF模型也有其自身的优势,比如:1.它有很高集成度的前后处理软件,减轻建模的负担;2.它可以自主调节水文响应单元的大小,模型有更好的灵活性;3.它......
  • R+VIC模型融合实践技术应用及未来气候变化模型预测
    在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是,由于适用的尺度主要的是中小流域,所以在预测气候变化对水文过程影响......
  • 【最新】Claude Pro订阅充值教程,超大杯模型Claude 3 Opus模型体验方法
    一、关于ClaudePro|Claude3OpusClaude3系列包含三个大模型,按能力由弱到强别是:Claude3Haiku(最小/速度最快)Claude3Sonnet(标准/免费使用)Claude3Opus(最强/需要付费订阅)其中,最强的Opus在多项基准测试中得分都超过了GPT-4和Gemini1.0Ultra,......