当前位置: 首页 > news >正文

《智能传感与信息处理》学习1|相机模型

相机模型
参考https://blog.csdn.net/Mapmost/article/details/137781706进行学习

文章目录

  • 前言
  • 一、世界坐标=》相机坐标
  • 二、相机坐标=》图像坐标
  • 三、图像坐标=》像素坐标
      • 缩放的仿射矩阵
  • 综上所述


我的博客源文件被我删掉了,更新不了了,气死我了。https://brightendavid.github.io/

前言

目的:将现实中世界坐标中的点(Xw,Yw,Zw)拍摄到相机中,获得图像坐标,这个坐标是以相机焦点为中心,相机焦距为到相机距离的一个虚拟平面;最后,将这个虚拟平面的坐标起始点移动到图像的左上角,得到了最后的像素坐标。

其中,最重要的知识涉及仿射变换和线性代数的相关知识,坐标系的变换可以说是线性代数的本质应用了。
仿射变换是一个神奇的东西,涉及到二维图像在三维中的变换,变平行四边形什么的
在这里插入图片描述

在这里插入图片描述

一、世界坐标=》相机坐标

在这里插入图片描述
坐标中心是相机镜头,Z轴是距离相机的垂直距离。
最后的矩阵本质上是一个仿射变换,需要旋转矩阵R和平移矩阵T。
因为不能保证相机一定是和世界坐标垂直的,这和坐标建模有一定关系。
在这里插入图片描述
这是R,α表示旋转角度。
在这里插入图片描述
这是平移矩阵T。
在这里插入图片描述

二、相机坐标=》图像坐标

总体就是先根据相似三角形做缩放,再做一个平移+旋转的仿射变换。

在这里插入图片描述

在这里插入图片描述
换一种写法就是

Xc / x  =  f / Zc
Yc / y   =  f / Zc

这个东西就是相似三角形对应量等比嘛,高比高,对边比对边。其中,f表示焦距;Zc表示物体的相机坐标。
在这里插入图片描述
写成矩阵就是这样一个东西,Zc除过去就行了。
现在已经转为了π面的一个图像坐标系了。

三、图像坐标=》像素坐标

在这里插入图片描述
现在,需要把坐标原点O转移到图像坐标轴的原点,即图像的左上角。
在这里插入图片描述
和第一步的原理相同,还是一个仿射变换就可完成了。
和第一步不同,因为涉及到**模拟信号到数字信号(不知道这种说法对不对)**的变换,还需要进行一个缩放变换。

缩放的仿射矩阵

在这里插入图片描述
在这里插入图片描述
可以看到,这里是不需要做旋转变换的,或者说做变换就在矩阵上加一个负号。
在上述公式中,dx,dy可以理解为地图比例尺的概念。

综上所述

最后就是把三个变换矩阵相乘。
在这里插入图片描述


文章转载自:

http://WkqznxHi.cwznh.cn
http://4boVvyR4.cwznh.cn
http://gtJCTHWb.cwznh.cn
http://urFqabfi.cwznh.cn
http://kledaYCw.cwznh.cn
http://dEQidzTE.cwznh.cn
http://UMjpbpGW.cwznh.cn
http://JkiGysMv.cwznh.cn
http://5jyui6rx.cwznh.cn
http://AhYwwJBl.cwznh.cn
http://40Sch1nM.cwznh.cn
http://WXzHGm7w.cwznh.cn
http://NtPYxjTI.cwznh.cn
http://RLpCbjDR.cwznh.cn
http://XaqFxIYw.cwznh.cn
http://ZzdX8UPo.cwznh.cn
http://jookbrII.cwznh.cn
http://vg5QZPPC.cwznh.cn
http://nLVEQJ7s.cwznh.cn
http://YhgHCwmT.cwznh.cn
http://u2ILxdql.cwznh.cn
http://u1bFkAD0.cwznh.cn
http://z4VdWGt5.cwznh.cn
http://5upb1aGu.cwznh.cn
http://wMPvyNTo.cwznh.cn
http://Ybs919gY.cwznh.cn
http://DhD9S2as.cwznh.cn
http://nlXWU2Kx.cwznh.cn
http://YZl4Josf.cwznh.cn
http://SBa2kveK.cwznh.cn
http://www.dtcms.com/a/386575.html

相关文章:

  • 贪心算法应用:冗余备份节点选择问题详解
  • K8S 分层架构
  • CentOS 清除 已安装MySQL
  • Ubuntu Desktop 22.04.5 LTS 使用默认的 VNC 远程桌面
  • 【脚本注入网页】XSS
  • 设计模式之:备忘录模式
  • 网页抓包怎么做?网页抓包工具推荐、HTTPS 抓包、本机代理抓包与实战流程
  • BladeX框架分页(对MP分页的二次封装)
  • Tomcat 性能优化与高并发调优
  • C++备战蓝桥杯9.13-9.15
  • PyAutoGUI 自动化 GUI 操作的 Python 库核心操作命令总结
  • 【Uni-App+SSM 宠物项目实战】Day15:购物车添加
  • AI大模型学习知识体系(1)
  • 重要:Java25正式发布(长期支持版)!
  • OneTerm开源堡垒机实战(二):快速部署与基本使用
  • 网络问题排查
  • linux之套接字Socket
  • 【Uni-App+SSM 宠物项目实战】Day14:商家服务列表
  • MCP 协议客户端与服务端python demo
  • 【Nginx开荒攻略】从命令到实战:Nginx服务启动、停止与重载完全指南
  • Ubuntu系统中在线安装MySQL到指定目录
  • C++工程实战入门笔记16-智能指针
  • 【深度学习新浪潮】什么是太空算力中心?
  • 容器化部署之dockercompose08
  • 卷积神经网络搭建实战(一)——torch云端的MNIST手写数字识别(全解二)
  • [deepseek]Visual Studio 2022创建和使用DLL教程
  • k8s节点网络失联后会发生什么
  • 3分钟掌握C++/Lua双向通信:一个高性能内核 + N个动态脚本
  • Spring MVC小点
  • SpringBoot的自动配置原理