相机模型概述

news2024/11/17 1:34:28

相机模型

如图:假设P是现实世界中的一个点,P是三维世界中的点

Pr(Xr,Yr,Zr)

光心O视作摄像头

Pc(Xc,Yc,Zc)

在相机平面中,Pc的坐标为(0,0,0)

在物理成像平面

Pp(Xp,Yp,0)

在像素平面

P'(Xp',Yp',0)

但是!!!

到了像素平面,坐标就不一样了,像素平面坐标顶点(最左上角)才是原点,此时P'坐标应为P'(u,v,0)

什么是齐次坐标

齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。

个人理解就是二维凑三维,三维凑四维,以此类推

什么是欧氏变换

欧几里得变换也称为欧式变换、刚性变换,是一种较为基本的变换,通过欧几里得变换,可以改变物体的空间位置,却不改变物体的形状、大小。

说白了,就是平移和旋转,比如我在死亡的边缘疯狂横跳,旋转,跳跃,画着圈,哎~我还是我,你能拿我怎么办?(我又跳进来了,打我呀,打我呀,笨蛋)

手动分割线

有人要问了(其实没人问,强行给自己加戏而已),为什么介绍介个?

诶!小盆友,你发现了华点.

凑数嘛,假设我获取了P'点,那么现实中的点是不是就能求了?就是干这个用的.

整硬菜!(比我的嘴还硬)

从真实世界的坐标系,转换到像素的坐标系

从真实世界坐标系到像素坐标系,总共分几步?

四步:真实世界坐标系→相机坐标系→物理成像坐标系→像素平面坐标系

这位同学答的很好,奖励请老师搓个澡!

好,接下来我们来分解一下

世界坐标系到摄像机坐标系:

先看个公式:

 这是从真实世界坐标系转化成相机坐标系,中间的2*2矩阵代表的是平移和旋转的过程(欧式变换),公式看的懂吗?

看不懂(我TM也看不懂)

那么如何理解这个东西呢

现实中间的某个点,要想找到在相机坐标系的对应点,那么要有参照吧,但是这个参照总不能用现实世界的坐标系吧,相机又不知道,所以要建立一个对应的关系,把现实世界的坐标经过欧式变换,变成相机坐标系.那么现实中的点,就可以在相机坐标系中找到.

举个栗子,每款饮料的总含糖量不一样,那么怎么对比呢,就有了一个NRV标准,每100ml含糖量占NRV的比重,这样就能看出来.

来看下这个,其中波浪号a,波浪号b代表齐次坐标, 结合上面的公式,是不是就好理解了

矩阵乘法不知道的,自己百度(狗头)

摄像机坐标系到图像物理坐标系

下面的内容就比较好理解了,少废话,直接上图:

 这时候就是通过相似三角形原理,进行比例变化就行了,还是建立不同坐标系的对应关系.

图像物理坐标系到图像像素坐标系

这个跟简单了,由于物理坐标和图像坐标系是在一个平面内的,直接按比例进行缩放就行了.

比如某些一米五的女人,拉到一米七

 相机模型今天就到这,祝端午安康,我TM还在加班!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/676681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java系列】深入解析 Lambda表达式

序言 你只管努力,其他交给时间,时间会证明一切。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级论点蓝色:用来标记二级论点 希望这篇文章能让你不仅有一定的收获&#xf…

揭秘ChatGPT背后的传奇崛起,探索其引爆引爆网络的隐藏故事

文章目录 前言一、ChatGPT的诞生背景二、ChatGPT的技术原理三、ChatGPT的推广策略四、ChatGPT的未来展望五、橙子送书第3期 前言 ChatGPT是一款基于人工智能技术的聊天机器人,它的出现引起了广泛的关注和热议。在短短的时间内,ChatGPT就成为了全球范围内…

TLS SSL

HTTPS HTTPS,全称为 Hypertext Transfer Protocol Secure,是一种通过加密通道传输数据的安全协议。它是 HTTP 协议的安全版本,用于在 Web 浏览器和 Web 服务器之间进行安全的数据传输。HTTPS 在传输过程中使用了 SSL(Secure Sock…

使用Compose开发一款桌面端APK逆向工具

目录 1.前言2.小感慨3.逆向工具简介3.1.ApkTool3.2.Jadx3.3.其他工具3.3.1.Dex文件反编译为Jar文件dex2jar 3.3.2.Jar文件反编译为Java文件JavaDecompilerProcyonFernflowerCFR 4.桌面端逆向APK应用的开发4.1.文件拖拽4.2.构造工程目录4.3.文件标签页4.4.关键字高亮4.5.本地图片…

大模型没有壁垒吗?开源模型和chatgpt已经没有差距了吗?

近期有很多工作比如Alpaca、Vicuna、Koala等论文宣称通过收集到的大量chatgpt output,在基于开源大模型如LLaMA上进行微调后的模型就接近甚至超过chatgpt效果。有些看热闹不嫌事大的媒体渲染诸如“复制chatgpt,仅需100美元“,”开源大模型超过…

行为型模式--观察者模式

目录 概述 结构 案例实现 优缺点 优点: 缺点: 使用场景 概述 又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者 对象同时监听某一个主题对象。这个主题对象在…

vscode c++ 环境配置(终极版)

1. window系统 c 环境配置 1.1 配置MinGw编译器 (1)下载mingw64 mingw64 的按照包,我已经放在百度网盘上了,搭建可自行下载: 链接: https://pan.baidu.com/s/1NoPGAYFuP5ysXTf8wtvbEA?pwdwd6w 提取码: wd6w (2&…

目标检测基础

MTCNN 人脸检测 MTCNN,Multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,它的主题框架类似于cascade。总体可分为P-Net、R-Net、和O-Net三层网络结构。这三个…

IOS工程使用OpenCV库完整步聚

1.打开Xcode15并点击Create New Project 2.引用编译好的opencv2.framework框架 选择添加其它库 选择Add Files ... 选择OpenCV源码编译生成输入的IOS平台的opencv2.framework库 opencv库要放在工程目录下,不然会找不到 成功添加opencv库的引用,现在可在工程中使用openc…

《网络安全0-100》多级安全

1.多级安全 建立安全模型的方法: 信息流模型 访问控制模型 1.1 BLP模型 1.1模型构建 不能下写、不能上读,保持数据的机密性。 例子:军事、商务、外交的机密性强场景。下级可以给上级进行汇报,但下级不能读取上级的作战计划…

【C++学习】C++入门 | 缺省参数 | 函数重载 | 探究C++为什么能够支持函数重载

写在前面: 上一篇文章我介绍了C该怎么学,什么是命名空间,以及C的输入输出, 这里是传送门:http://t.csdn.cn/Oi6V8 这篇文章我们继续来学习C的基础知识。 目录 写在前面: 1. 缺省参数 2. 函数重载 3…

浅谈【AI、算力赋能】“大算力”时代的到来

🔻一、【💣 话题引入:“AI算力最强龙头”,你怎么看?】 🙈 AI人工智能是否可以取代人类?    🙈 应不应该限制人工智能的发展?      🙈 AI研究及龙头行业迎…

011-从零搭建微服务-接口文档(一)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

【P2】VMware 下 docker 快速搭建漏洞靶场 DVWA

文章目录 一、docker 快速搭建漏洞靶场指南二、执行步骤三、为 kali 配置 docker 加速器四、访问 dockerhub 的 dvwa 镜像五、漏洞利用初探,修改 requests 请求参数远程执行命令六、vulhub 搭建漏洞复现 包括什么是 docker、docker 和虚拟机的的区别、docker 搭建 D…

阿里云服务器的虚拟化技术和资源隔离如何?是否支持私有云部署?

阿里云服务器的虚拟化技术和资源隔离如何?是否支持私有云部署?   一、阿里云服务器的虚拟化技术   阿里云服务器采用了业界领先的虚拟化技术,为用户提供了强大而灵活的计算性能。这主要体现在以下几个方面:   1.1 弹性伸缩 …

强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧(调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍:【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧…

【CMake 入门与进阶(13)】 CMake如何设置交叉编译(附代码)

cmake如果不设置交叉编译,默认情况下,会使用主机系统(运行 cmake 命令的操作系统)的编译器来编译我们的工程,那么得到的可执行文件或库文件只能在 Ubuntu 系统运行,如果我们需要使得编译得到的可执行文件或…

javaWeb医药管理系统

一、引言 二、项目截图 2.1 首页设计 2.2一级页面设计 2.2-1注册界面 2.2-2管理员登录界面 2.3二级页面设计 药品信息模块 药品销售 用户信息 三、项目基本要求 1.主要功能 医药管理系统的主要功能为:、药品更新、药品查询 药品更新功能分为三部分&…

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input

前端Vue自定义支付密码输入键盘Keyboard和支付设置输入框Input&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13166 效果图如下&#xff1a; # cc-defineKeyboard #### 使用方法 使用方法 <!-- ref:唯一ref pas…

VMware vCenter Server 7.0 Update 3m 发布下载(重要安全更新)

VMware vCenter Server 7.0 Update 3m 发布下载&#xff08;重要安全更新&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vcenter-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org VMware vCente…