zoukankan      html  css  js  c++  java
  • 机器视觉基础(1)---投影

    投影的类型

    投影变换是空间中2维-2维变换的一种,具体点说,就是把一个场景投影到摄像机的像平面上。这种变换和多变量微分方程中提到的微分变量代换有类似之处。

    透视投影

    透视投影是所有投影的基础,也是投影基础中最为简单的一种模型,可以归纳为针孔模型。
    透视投影从原理上来说,和小孔成像是一样的。如图
    小孔成像模型
    透视投影有两条基本性质,这里不加证明的用图片给出。
    透视投影的两条性质

    1. 图片a所描述的性质是近者达而远者小,同一距离上投影保证长度比例不变
    2. 图片b所描述的内容是平面上平行的线投影之后会相交于一点。无数组平行线的交点会组成一条水平线,此水平线为被投影平面平移至O点后与像平面的交线。

      总而言之,透视投影可以总结如下图所示
      透视投影模型
      场景点与光心连线在像平面上的交点称为投影点。

    仿射投影

    仿射投影值得是透视投影的一种粗略近似,当物体距离光心的距离远远大于物体本身的表面起伏时。就可以利用仿射投影来近似得到透视投影。对于普通的透视投影有可以用一组方程来描述

    x=fzxy=fzy


    对于在同一距离上的点而言,fz 都是相同的,那么点到点之间存在一一对应关系,或者说,变换的雅可比矩阵式线性的,缩放系数det(J)是一个常数。但是如果点不在同一个像平面的平行平面上,那么 z 的值是变化的.整个变换的雅可比矩阵就是非线性的。各个离散块在像平面上的缩放系数也不一样—这里把物体离散成块,投影是物体块–像素块的一一对应。

    但是如果在仿射投影的情况下,可以认为 z 的值非常大,那么 z 变化引起的效果就可以忽略不计。仿射投影的模型如图所示。
    弱透视投影
    当物体平面和像平面完全平行时,可以推出弱透视投影关系,认为所有z=z0,也就是所有的线段按照相同的比例缩放。
    当忽略被拍摄物体表面的起伏时,可以有这样的近似关系
    仿射投影
    可以认为在非常非常远的情况下,物体上的点可以看作直接对应像平面。

    弱透视投影与类透视投影

    这里写图片描述
    上面一张图表示的是弱透视投影,下面的图表示的是类透视投影。从图中可以判断,参考点是透视投影中很重要的概念。
    所谓的参考点,就是确定 z0 的那个点。 也就是原本就在仿射平面上的点。类透视投影是优于弱透视投影的,一定程度上能够补偿忽略景深变化而导致的投影误差。如果参考点是主光轴与仿射平面的交点,那么类透视投影就会退化成弱透视投影。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Java类、实例初始化的顺序
    Java中堆栈的区别
    int与Integer的区别(基本类型与复杂类型的对比)转
    JS中函数执行顺序的问题?
    springMVC --@RequestParam注解(后台控制器获取参数)
    如何安装request库
    流程图
    认识broken pipe
    postman动态使用url
    自定义一个List排序规则,然后对另一个List按照该规则排序
  • 原文地址:https://www.cnblogs.com/ironstark/p/4892637.html
Copyright © 2011-2022 走看看