• interview review


    M:

    1. gamma correction

    人眼和相机对强度的变化敏感程序不一样, 人对暗部更敏感.

    上面一条人眼觉得是均匀, 下面一条是相机真实的均匀.
    在这里插入图片描述
    在这里插入图片描述
    人眼觉得的中间值 在相机中是21.8%, 为了让灰度的分布更符合人眼, 我们需要对图片进行gamma校正, 使得各用128个数字来表示相机真实世界中21.8%为界线的两个部分, 这时的gamma对亮度进行调节使得暗位细节更多了, 亮位细节变少了, 更符合人眼特征, 但是储存在图片中就是灰度值 变大了, 所以当我们显示在屏幕上时, 需要对这个灰度值还原到真实的灰度值.

    所以gamma 编码是让更多数字来表达暗部(结果就是数字表达的值是符合人眼的均匀值,但是大于真实灰度值, 比如128表示21.8的强度), 而gamma解码是把这个数字还原到真实的灰度值(把128还原成21.8)

    1. intrinsic matrix
      [ f x s c x 0 f y c y 0 0 1 ]
      [fxscx0fycy001]" role="presentation" style="position: relative;">[fxscx0fycy001]
      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 ]

    [fxscx0fycy001]" role="presentation" style="position: relative;">[fxscx0fycy001]
    *
    [XZYZ1]" role="presentation" style="position: relative;">[XZYZ1]
    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

  • 相关阅读:
    04.6. 暂退法
    做一个高中信息教资复习
    MT2096 数列分段
    阿里云中的云服务器的ubuntu中的vim没有显示行号
    iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计
    数据结构——顺序表
    【面试必刷TOP101】删除链表的倒数第n个节点 & 两个链表的第一个公共结点
    机器学习(四十五):使用Flask构建机器学习web
    “第六届世界声博会暨2023科大讯飞全球1024开发者节”开幕式回顾及舆情问题
    Vue_Bug Failed to fetch extension, trying 4 more times
  • 原文地址:https://blog.csdn.net/seamanj/article/details/134473675