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

interview review

M:

  1. intrinsic matrix
    [ f x s c x 0 f y c y 0 0 1 ] \begin{bmatrix}f_x & s & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1\end{bmatrix} fx00sfy0cxcy1

( c x , c y ) (c_x, c_y) (cx,cy): camera center in pixels
( f x , f y ) (f_x, f_y) (fx,fy): focal length in pixels
在这里插入图片描述

X Z = u f x \frac{X}{Z} = \frac{u}{f_x} ZX=fxu
其中 f x = f p x f_x = \frac{f}{p_x} fx=pxf, f f f 是focal length in world unites (millimeters), p x p_x px像素宽度, 通过胶片宽度除以像素X方向的个数得到.

下面来看skew

s = f x t a n α s = f_x tan \alpha s=fxtanα

假设每 p y p_y py p x p_x px上面的偏移是 b b b
那么 t a n α = b p x p y tan \alpha = \frac{bp_x}{p_y} tanα=pybpx
在这里插入图片描述

那么 [ f x s c x 0 f y c y 0 0 1 ] ∗ [ X Z Y Z 1 ] \begin{bmatrix}f_x & s & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1\end{bmatrix} *\begin{bmatrix} \frac{X}{Z} \\ \frac{Y}{Z} \\ 1 \end{bmatrix} fx00sfy0cxcy1 ZXZY1

第一行可得 f x ∗ X Z + s ∗ Y Z + c x = f x ∗ X Z + f x t a n α ∗ Y Z + c x f_x * \frac{X}{Z} +s * \frac{Y}{Z} + c_x = f_x * \frac{X}{Z} + f_x tan \alpha * \frac{Y}{Z} + c_x fxZX+sZY+cx=fxZX+fxtanαZY+cx

这里 f x t a n α ∗ Y Z f_x tan \alpha * \frac{Y}{Z} fxtanαZY有两种理解方式, 第一种是通过 t a n α ∗ Y tan \alpha *Y tanαY将在世界坐标系中将 Y Y Y转成 X X X方向的偏移 b X bX bX, 然后将这个偏移通过乘以 f x z \frac{f_x}{z} zfx转成x方向的像素偏移

第二种是 f x t a n α ∗ Y Z = f p x ∗ b p x p y ∗ Y Z = b f y ∗ Y Z f_x tan \alpha * \frac{Y}{Z} = \frac{f}{p_x}*\frac{bp_x}{p_y} * \frac{Y}{Z} = bf_y*\frac{Y}{Z} fxtanαZY=pxfpybpxZY=bfyZY 先算在y方向有多少像素, 再乘以 b b b得到偏移

第二行注意如果有skew, 那么 f y f_y fy得用 f y c o s α \frac{f_y}{cos\alpha} cosαfy代替, 因为y轴变斜了, 相应也变长了

https://towardsdatascience.com/camera-calibration-fda5beb373c3

https://towardsdatascience.com/what-are-intrinsic-and-extrinsic-camera-parameters-in-computer-vision-7071b72fb8ec

http://www.lryc.cn/news/233826.html

相关文章:

  • layui表头多出一列(已解决)
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • Java源码分析:Guava之不可变集合ImmutableMap的源码分析
  • 详解自动化测试之 Selenium
  • vue监听对象属性值变化
  • Unicode编码的emoji表情如何在前端页面展示(未完成)
  • 基于SSM的设备配件管理和设备检修系统
  • 鸿蒙开发|鸿蒙系统项目开发前的准备工作
  • Evil靶场
  • 第77题. 组合
  • 读书笔记:彼得·德鲁克《认识管理》第21章 企业与政府
  • C/C++疫情集中隔离 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • 052-第三代软件开发-系统监测
  • 向量矩阵范数pytorch
  • NVIDIA Jetson OTA升级
  • 【算法】算法题-20231118
  • 某60区块链安全之整数溢出漏洞实战学习记录
  • 图数据库Neo4J 中文分词查询及全文检索(建立全文索引)
  • element-china-area-data使用问题
  • 248: vue+openlayers 以静态图片作为底图,并在上面绘制矢量多边形
  • thinkphp6(TP6)访问控制器报404(Nginx)
  • 腾讯云轻量应用服务器使用场景列举说明
  • 【漏洞复现】IP-guard WebServer 远程命令执行
  • 23111704[含文档+PPT+源码等]计算机毕业设计springboot办公管理系统oa人力人事办公
  • 在Linux系统上检测GPU显存和使用情况
  • 内网穿透 cpolar
  • ai剪辑矩阵系统源码+无人直播系统源码技术开发
  • 2311rust,到38版本更新
  • 腾讯云4核8G服务器配置价格表,轻量和CVM标准型S5实例
  • Android 屏幕适配