一、图像形成概述

在分析和处理图像之前,需要建立一个描述场景几何形状的词汇表。还需要了解在给定一组光照条件、场景几何、表面特性和相机光学器件的情况下产生特定图像的图像形成过程。同时了解图像形成过程的简化模型。

首先了解基本几何图元(点、线和平面)以及将这些 3D 量投影到 2D 图像特征的几何变换(图1-a)。 然后再了解光照、表面属性(图1-b)和相机光学(图1-c)如何相互作用以产生落在图像传感器上的颜色值。继而知道连续彩色图像如何在图像传感器内部转换为离散数字样本(图 1-d),以及如何避免(或至少表征)采样缺陷,例如混叠。

图1 图像形成过程的几个组成部分:(a) 透视投影;(b) 撞击表面时的光散射; (c) 镜头光学; (d) 拜耳滤色片阵列。

二、几何图元和变换

首先需要了解2D和3D图元,即点、线和平面。接着了解如何将3D特征投影到2D特征中。

1、几何图元

几何图元构成了用于描述三维形状的基本构建块。

(1)2D points

二维点(图像中的像素坐标)可以用一对值表示,,或者,我们使用表示法来表示列向量。

二维点也可以使用齐次坐标表示, ,其中仅在尺度上不同的向量被认为是等价的。 称为二维射影空间。

齐次向量可以通过除以最后一个元素转换回非齐次向量 x,即,其中 是增广向量。最后一个元素为的齐次点称为理想点或无穷远处的点,它们没有等效的非齐次表示。

(2)2D lines

二维线也可以用齐次坐标表示。对应的线方程为

我们可以对直线方程向量进行归一化,使得  其中。在这种情况下,是垂直于直线的法向量,是 它到原点的距离(图 2)。(这种归一化的一个例外是无穷远处的线,它包括无穷远处的所有(理想)点。)

图2 (a) 2D 线方程和 (b) 3D 平面方程,用法线 ^n 和到原点的距离 d 表示。

也可以将表示为旋转角度的函数,(图2-a)。 这种表示通常用于霍夫变换寻线算法中,组合也称为极坐标。

当使用齐次坐标时,我们可以计算两条线的交点为,其中是叉积算子。类似地,连接两点的线可以写成,当试图将一个交点拟合到多条线,或者相反,一条线到多点时,可以使用最小二乘法。

(3)2D conics

还有其他代数曲线可以用简单的多项式齐次方程表示。 例如,圆锥截面(之所以这么称呼,是因为它们是平面和 3D 圆锥的交点)可以使用二次方程来编写

二次方程在多视图几何和相机校准的研究中发挥了有用的作用。

(4)3D points

三维的点坐标可以用非齐次坐标 或齐次坐标 来写。

和以前一样,有时使用具有的增广向量 来表示 3D 点很有用。

(5)3D planes

3D 平面也可以表示为齐次坐标 并带有相应的平面方程,我们还可以将平面方程写作归一化,其中 。在这种情况下,是垂直于平面的法向量,并且是它到原点的距离(图2-b)。 与 2D 线的情况一样,无穷远处的平面包含无穷远处的所有点,不能归一化(即,它没有唯一的法线或有限距离)

我们可以将表示为两个角度的函数,即,使用球坐标,但这些比极坐标更不常用,因为它们不能均匀地对可能的法向量空间进行采样。

(6)3D lines

3D 中的线条不如 2D 中的线条或 3D 中的平面那么优雅。 一种可能的表示是使用线上的两个点。 线上的任何其他点都可以表示为这两个点的线性组合,如图3所示。 如果我们限制 ,我们得到连接 p 和 q 的线段。

如果我们使用齐次坐标,我们可以把这条线写成

这种情况的一个特殊情况是当第二个点在无穷远处时,即。在这里,我们看到是线的方向。然后我们可以将非齐次3D line方程重写为

3D 线的端点表示的一个缺点是它具有太多的自由度,即六个(每个端点三个)而不是 3D 线真正具有的四个自由度。 然而,如果我们将线上的两个点固定在特定的平面上,我们就会得到一个具有四个自由度的表示。 例如,如果我们表示几乎垂直的线,则形成两个合适的平面,即两个平面中的坐标提供了描述线的四个坐标。 这种双平面参数化用于描述的光场和基于Lumigraph图像的渲染系统,以表示相机在物体前面移动时看到的光线集合。 双端点表示对于表示线段也很有用,即使它们的确切端点无法看到(只能猜测)。

如果我们希望在不偏向任何特定方向的情况下表示所有可能的线,我们可以使用 Plüucker 坐标。 这些坐标是斜对称矩阵中的六个独立非零项

其中是线上的任意两个(不相同的)点。 该表示只有四个自由度,因为 L 是齐次的并且还满足 ,这导致对 Plüucker 坐标的二次约束。

在实践中,最小表示对于大多数应用程序来说不是必需的。可以通过估计它们的方向(可能提前知道,例如,对于建筑)和线的可见部分内的某个点或通过使用两个端点来获得 3D 线的适当模型,因为 线通常作为有限线段可见。 但是,如果您对有关最小线参数化主题的更多细节感兴趣,Förstner (2005) 讨论了在投影几何中推断和建模 3D 线的各种方法,以及如何估计此类拟合模型中的不确定性。

(7)3D quadrics

圆锥截面的 3D 模拟是二次曲面

同样,二次曲面在多视图几何研究中很有用,也可以用作有用的建模基元(球体、椭球体、圆柱体)。

计算机视觉 图像形成 几何图形和变换相关推荐

  1. 计算机视觉 图像形成 几何图形和变换 3D到2D投影

    一.正交和平行透视法 现在我们知道如何表示2D和3D几何图元以及如何在空间上转换它们,我们需要指定如何将 3D图元投影到图像平面上. 我们可以使用线性3D到2D投影矩阵来做到这一点.最简单的模型是正交 ...

  2. 计算机视觉 图像形成 几何图形和变换 3D变换

    一.3D变换 这组三维坐标变换与可用于二维变换的坐标变换非常相似,并在表 2.2 中进行了总结. 与在 2D 中一样,这些变换形成了一组嵌套的组. 表 3D 坐标变换的层次结构. 每个变换还保留其下方 ...

  3. 计算机视觉 图像形成 几何图形和变换 2D变换

    一.2D变换 在上一节,在定义了我们的基本概念之后,我们现在可以将注意力转向如何转换它们.最简单的转换发生在 2D 平面中,如下图所示. 基本的 2D 平面变换 1.平移(Translation) 二 ...

  4. OPENCV计算机视觉图像处理频域傅里叶 DFT 变换低通滤波逆变换IDFT

    OpenCV计算机视觉图像频域傅里叶 DFT 变换低通滤波逆变换IDFT 实验室做图像的,经常用到这部分,为了检测屏幕,看过好多博客,试用过许多代码,这个算是我找到的比较好用的,也容易改. 傅里叶变换 ...

  5. Python计算机视觉——图像到图像的映射

    Python计算机视觉--图像到图像的映射 文章目录 Python计算机视觉--图像到图像的映射 写在前面 1 单应性变换 1.1 直接线性变换算法 1.2 仿射变换 2 图像扭曲 2.1 图像中的图 ...

  6. 计算机视觉--图像的拼接融合

    计算机视觉--图像的拼接融合 一.全景图像拼接原理介绍 1.1 背景介绍 1.2 基本原理 1.3 图像拼接整体流程 二.全景图像拼接实验 2.1 代码实现 2.2 不同场景的实验结果与分析 2.2. ...

  7. cv图像预处理——逐像素变换

    cv图像预处理--逐像素变换 标签:计算机视觉 逐像素变换 对图像中的每个像素逐个进行处理. 白化(类似于标准化) 白化的目的是要为图像的平均亮度水平和对比度提供波动的恒定性.其中每个像素进行如下转换 ...

  8. LabVIEW图像灰度分析与变换(基础篇—4)

    目录 1.图像灰度分析 1.1.直方图分析 1.1.1.灰度图像直方图分析 1.1.2.彩色图像直方图分析 1.2.线灰度曲线分析 1.3.图像线灰度均值分析 1.4.图像形心和质心分析 1.5.图像 ...

  9. python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

最新文章

  1. 新僵尸病毒猖獗 Facebook成攻击目标
  2. linux svn强制注释,svn强制提交时添加注释
  3. 在Windows下使用webpack入门
  4. 万维网报务器与浏览器各有什么功能,浏览器是如何获得服务器上的信息的,第3章因特网的应用.ppt...
  5. boost::hana::to用法的测试程序
  6. DW —— 静态图片的交替更换
  7. 完成图书管理系统类图的绘制_如何在线免费绘制各类图形
  8. windows系统无法输入激活码
  9. 常见地图服务(WMS、WFS、WCS、TMS、WMTS
  10. JS学习之路系列总结五行阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
  11. 【Unity】那些你不得不用的好插件!
  12. 计算机辅助翻译优缺点,计算机辅助翻译优缺点
  13. HTML如何返回上一页?
  14. 搞不懂DMP是什么?看这里就够
  15. SAP 特殊采购类遇到Q库存
  16. ChinaSoft 论坛巡礼 | 可信AI软件系统工程技术
  17. Koch Curve
  18. 扬州大学广陵学院计算机科学与技术女生多吗,超激动!萌新们纷纷晒出与扬大录取通知书合照...
  19. Android综合教务管理系统
  20. 程序员的乐趣是什么?

热门文章

  1. JAVA学习第一步-配置JAVA开发环境和学习资料
  2. 2016年9个最受欢迎的H5页面制作工具
  3. java食堂外卖系统,校园食堂外卖订餐系统
  4. Nginx 重写功能(location / rewrite)
  5. Warning: Accessing non-existent property ‘cat‘ of module exports inside circular dependency
  6. C#“Multiple assemblies with equivalent identity have been imported”错误
  7. 【数据挖掘概念与技术】学习笔记5-数据立方体技术
  8. Spark大数据分析案例之平均心率检测[2021]
  9. 网络程序设计 Sockets
  10. 拯救智慧城市:要智商还有生气