【计算机视觉】ch1-Introduction

相机模型与成像

在这里插入图片描述

1. 世界坐标系 (World Coordinate System)

世界坐标系是指物体在真实世界中的位置和方向的表示方式。在计算机视觉和图像处理领域,世界坐标系通常是一个全局坐标系统,描述了摄像机拍摄到的物体在实际三维空间中的位置。它是所有其他坐标系的基础,是相机相对于真实世界的参照系。

2. 相机坐标系 (Camera Coordinate System)

相机坐标系是以相机自身为基准的坐标系统。当物体从世界坐标系转换到相机坐标系时,其坐标值是基于相机的位置和方向进行表示的。相机坐标系的原点通常位于相机的光心,Z轴通常表示与相机视角方向一致的深度信息,X轴和Y轴表示相机视平面上的横向和纵向位置。

3. 图像平面坐标系 (Image Plane Coordinate System)

图像平面坐标系是物体在相机拍摄图像中的二维表示。相机将三维的世界投影到一个二维平面上,该平面称为图像平面。此坐标系的单位通常以像素为基础,描述物体在图像中的位置。它的原点一般位于图像平面的中心或左上角,X轴表示图像的水平方向,Y轴表示图像的垂直方向。

4. 数字图像坐标系 (Digital Image Coordinate System)

数字图像坐标系用于表示数字化后的图像数据中的坐标。此坐标系通常是以像素为单位,描述图像中的每个点的位置。原点通常在图像的左上角,X轴沿着图像的宽度方向,Y轴沿着图像的高度方向。该坐标系用于处理图像数据,例如图像处理、分析和计算机视觉算法中。

在这里插入图片描述

总结

透视投影中的四个坐标系逐级转换:首先,物体的位置由世界坐标系表示,然后转换到相机坐标系,再投影到图像平面坐标系,最后数字化为数字图像坐标系。这一过程是计算机视觉、摄影测量和图像分析等领域中理解和处理图像数据的关键步骤。

摄像机成像的线性模型

描述了世界坐标系、摄像机坐标系、图像物理坐标系和图像像素坐标系之间的转换关系。

1. 世界坐标系到摄像机坐标系

  • 首先,物体在三维空间中的位置由世界坐标系 [ X W , Y W , Z W , 1 ] T [X_W, Y_W, Z_W, 1]^T [XW,YW,ZW,1]T 表示。将其转换到摄像机坐标系的过程由旋转矩阵 R R R 和平移向量 t t t 表示,公式如下:

    [ X C Y C Z C 1 ] = [ R t 0 3 T 1 ] [ X W Y W Z W 1 ] \begin{bmatrix} X_C \\ Y_C \\ Z_C \\ 1\end{bmatrix}= \begin{bmatrix} R & t \\ 0_3^T & 1 \end{bmatrix} \begin{bmatrix} X_W \\ Y_W \\ Z_W \\ 1 \end{bmatrix} XCYCZC1 =[R03Tt1] XWYWZW1

  • 具体解释

    • R R R: 这是一个 3 × 3 3 \times 3 3×3 的旋转矩阵,用于描述世界坐标系和**摄像机坐标系之间的旋转关系。它表示了摄像机的方向,即摄像机在世界坐标系中朝向的方向。**矩阵 R R R 的各个元素由摄像机的姿态(绕 X 、 Y 、 Z X、Y、Z XYZ 轴的旋转)决定。
    • t t t:这是一个 3 × 1 3 \times 1 3×1 的平移向量,用于描述摄像机在世界坐标系中的位置。它的三个分量分别表示摄像机在 X 、 Y X、Y XY Z Z Z 方向上的平移。这个向量将世界坐标系中的物体坐标原点移动到摄像机坐标系中。
    • [ 0 3 T , 1 ] [0_3^T, 1] [03T,1] :这一部分是为了将矩阵扩展到 4 × 4 4\times 4 4×4 的齐次坐标形式,使得旋转和平移可以用一个矩阵表示。这里的 0 3 0_3 03 表示一个 3 × 1 3 \times 1 3×1 的零向量, 1 1 1 用于保持齐次坐标的形式。

    整个转换过程

    • 输入: 物体在世界坐标系中的位置 [ X W , Y W , Z W , 1 ] T [X_W, Y_W, Z_W, 1]^T [XW,YW,ZW,1]T
    • 输出: 物体在摄像机坐标系中的位置 [ X C , Y C , Z C , 1 ] T [X_C, Y_C, Z_C, 1]^T [XC,YC,ZC,1]T
    • 过程: 首先对物体坐标进行旋转,调整物体相对于摄像机的方向;然后进行平移,将物体的位置调整到摄像机坐标系中。最终得到物体在摄像机坐标系中的位置。

    转换的实际意义

    • 这种转换是计算机视觉和图像处理领域的基本操作,用于将真实世界中的物体坐标转换到摄像机的坐标系中。这样,摄像机就可以根据其位置和方向来观测物体,计算物体在摄像机视野中的位置和大小,为后续的成像和计算提供基础。

    通过这个转换,摄像机可以在世界坐标系中找到自己与物体之间的相对位置,从而确定如何将三维物体投影到二维图像平面上。

  • 案例分析

    例子:摄像机观察桌子上的物体

    1. 场景描述

    • 设想我们有一台摄像机放置在房间内,房间的地面作为世界坐标系的基准。摄像机的镜头朝向桌子上的一个物体(例如,一个立方体)。为了方便计算,假设:
      • 世界坐标系的原点 ( 0 , 0 , 0 ) (0, 0, 0) (0,0,0) 位于房间地面的左下角。

      • 摄像机位于世界坐标系中的位置为 ( 2 , 3 , 1 ) (2, 3, 1) (2,3,1),即它离世界坐标系的原点 2 2 2 米,离左墙 3 3 3 米,离地面 1 1 1 米高。这个位置可以用平移向量 t = [ 2 , 3 , 1 ] T t = [2, 3, 1]^T t=[2,3,1]T 表示。

      • 摄像机的姿态是水平的,即它没有旋转,镜头正对前方。为简化起见,我们假设摄像机坐标系与世界坐标系的轴方向一致,所以旋转矩阵 R R R 是单位矩阵,即:

        R = [ 1 0 0 0 1 0 0 0 1 ] R = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} R= 100010001

    2. 世界坐标系中的物体坐标

    • 现在,我们要找到桌子上的立方体在摄像机坐标系中的位置。假设立方体的中心点在世界坐标系中的位置是 ( 5 , 7 , 1.5 ) (5, 7, 1.5) (5,7,1.5)

      立方体的位置可以用齐次坐标表示为:

      [ X W Y W Z W 1 ] = [ 5 7 1.5 1 ] \begin{bmatrix} X_W \\ Y_W \\ Z_W \\ 1 \end{bmatrix} = \begin{bmatrix} 5 \\ 7 \\ 1.5 \\ 1 \end{bmatrix} XWYWZW1 = 571.51

    3. 转换到摄像机坐标系

    • 使用世界坐标系到摄像机坐标系的转换公式:

      [ X C Y C Z C 1 ] = [ R t 0 3 T 1 ] [ X W Y W Z W 1 ] \begin{bmatrix} X_C \\ Y_C \\ Z_C \\ 1 \end{bmatrix} = \begin{bmatrix} R & t \\ 0_3^T & 1 \end{bmatrix} \begin{bmatrix} X_W \\ Y_W \\ Z_W \\ 1 \end{bmatrix} XCYCZC1 =[R03Tt1] XWYWZW1

      由于 R R R 是单位矩阵,转换公式简化为:

      [ X C Y C Z C 1 ] = [ 1 0 0 2 0 1 0 3 0 0 1 1 0 0 0 1 ] [ 5 7 1.5 1 ] \begin{bmatrix} X_C \\ Y_C \\ Z_C \\ 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 5 \\ 7 \\ 1.5 \\ 1 \end{bmatrix} XCYCZC1 = 1000010000102311 571.51

    4. 计算过程

    • 进行矩阵乘法计算:

      [ X C Y C Z C 1 ] = [ 1 × 5 + 0 × 7 + 0 × 1.5 + 2 0 × 5 + 1 × 7 + 0 × 1.5 + 3 0 × 5 + 0 × 7 + 1 × 1.5 + 1 1 ] = [ 7 10 2.5 1 ] \begin{bmatrix} X_C \\ Y_C \\ Z_C \\ 1 \end{bmatrix} = \begin{bmatrix} 1 \times 5 + 0 \times 7 + 0 \times 1.5 + 2 \\ 0 \times 5 + 1 \times 7 + 0 \times 1.5 + 3 \\ 0 \times 5 + 0 \times 7 + 1 \times 1.5 + 1 \\ 1 \end{bmatrix} = \begin{bmatrix} 7 \\ 10 \\ 2.5 \\ 1 \end{bmatrix} XCYCZC1 = 1×5+0×7+0×1.5+20×5+1×7+0×1.5+30×5+0×7+1×1.5+11 = 7102.51

    5. 结果解释

    • 计算结果为 ( 7 , 10 , 2.5 ) (7, 10, 2.5) (7,10,2.5),表示立方体在摄像机坐标系中的位置:
      • X C = 7 X_C = 7 XC=7:物体在摄像机坐标系中离摄像机的横向距离。
      • Y C = 10 Y_C = 10 YC=10:物体在摄像机坐标系中离摄像机的纵向距离。
      • Z C = 2.5 Z_C = 2.5 ZC=2.5:物体在摄像机坐标系中离摄像机的前后距离,表示深度信息。

    通过这个简单的例子,我们看到,通过将世界坐标系中的物体坐标与摄像机的旋转和平移矩阵结合,可以计算物体在摄像机坐标系中的位置。

2. 摄像机坐标系到图像物理坐标系

  • 在摄像机坐标系中,物体被投影到图像平面上,得到图像物理坐标系中的坐标 [ x , y , 1 ] T [x, y, 1]^T [x,y,1]T

    [ x y 1 ] = 1 Z C [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ X C Y C Z C 1 ] \begin{bmatrix} x \\ y \\ 1\end{bmatrix}= \frac{1}{Z_C} \begin{bmatrix} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} X_C \\ Y_C \\ Z_C \\ 1 \end{bmatrix} xy1 =ZC1 f000f0001000 XCYCZC1

    • 详细解释

      1. 摄像机坐标系到图像物理坐标系的转换

      • 在摄像机坐标系中,物体的位置表示为 [ X C , Y C , Z C ] T [X_C, Y_C, Z_C]^T [XC,YC,ZC]T,这个坐标系的原点位于摄像机的光心, Z Z Z 轴朝向摄像机的前方。
      • 当物体被摄像机捕获时,摄像机将三维坐标投影到二维图像平面上,得到图像物理坐标系中的坐标 [ x , y , 1 ] T [x, y, 1]^T [x,y,1]T

      2. 公式中的各个部分解释

      • f f f :这是摄像机的焦距。焦距表示摄像机的镜头与图像平面之间的距离。它决定了摄像机视野的范围(广角或长焦),在这里起到将三维空间坐标缩放到图像平面上的作用。
      • Z C Z_C ZC : 这是物体在摄像机坐标系中的深度信息,表示物体距离摄像机的距离。它在公式中用于归一化,确保物体在图像平面上的投影坐标是线性的。因为物体离摄像机越远,它在图像中看起来就越小,所以需要用 1 Z C \frac{1}{Z_C} ZC1 对物体的坐标进行缩放。
      • 矩阵 [ f 0 0 0 f 0 0 0 1 ] \begin{bmatrix} f & 0 & 0 \\ 0 & f & 0 \\ 0 & 0 & 1 \end{bmatrix} f000f0001 这个矩阵是摄像机的内参矩阵的一部分,用来将三维的摄像机坐标转换到图像平面上的二维坐标。它的作用是通过焦距 f f f 对物体的坐标进行缩放,得到物体在图像平面上的物理坐标。

      3. 公式的运作过程

      • 首先,将物体在摄像机坐标系中的位置 [ X C , Y C , Z C ] [X_C, Y_C, Z_C] [XC,YC,ZC] 乘以内参矩阵 [ f 0 0 0 f 0 0 0 1 ] \begin{bmatrix} f & 0 & 0 \\ 0 & f & 0 \\ 0 & 0 & 1 \end{bmatrix} f000f0001 ,将三维坐标中的 X X X Y Y Y 分量按比例缩放,这个缩放比例由焦距 f f f 决定。

      • 然后,利用深度信息 Z C Z_C ZC 对坐标进行归一化,得到物体在图像平面上的坐标 [ x , y ] [x, y] [x,y]

        x = f ⋅ X C Z C , y = f ⋅ Y C Z C x = \frac{f \cdot X_C}{Z_C}, \quad y = \frac{f \cdot Y_C}{Z_C} x=ZCfXC,y=ZCfYC

      • 最终得到的 [ x , y ] [x, y] [x,y] 是图像物理坐标系中的坐标,表示物体在摄像机投影平面上的二维位置。

      4. 转换的实际意义

      • 这个过程是透视投影的关键步骤,将物体在三维空间中的位置转换为图像平面上的二维坐标。通过这种转换,摄像机能够将真实世界中的三维物体“拍摄”到二维图像中。
      • 其中,焦距 f f f 和深度信息 Z C Z_C ZC 是影响图像中物体大小和位置的关键因素。焦距决定了摄像机的视野范围,而深度信息 Z C Z_C ZC 决定了物体的远近及其在图像中的大小。
    • 案例分析

      假设摄像机的焦距 f = 800 f = 800 f=800 像素,物体在摄像机坐标系中的位置为 X C = 2 , Y C = 3 , Z C = 4 X_C = 2, Y_C = 3, Z_C = 4 XC=2,YC=3,ZC=4 。将这些值代入公式:

      x = f ⋅ X C Z C = 800 ⋅ 2 4 = 400 x = \frac{f \cdot X_C}{Z_C} = \frac{800 \cdot 2}{4} = 400 x=ZCfXC=48002=400

      y = f ⋅ Y C Z C = 800 ⋅ 3 4 = 600 y = \frac{f \cdot Y_C}{Z_C} = \frac{800 \cdot 3}{4} = 600 y=ZCfYC=48003=600

      那么,物体在图像平面中的物理坐标为 ( 400 , 600 ) (400, 600) (400,600)

      通过这个步骤,三维空间中的物体位置被成功投影到了二维图像平面上,确定了其在图像中的位置。

3. 图像物理坐标系到图像像素坐标系

  • 这张图展示了从图像物理坐标系到图像像素坐标系的转换过程。这个步骤将图像物理坐标(通常以毫米或米为单位)转换为图像像素坐标(以像素为单位),从而更贴近我们实际处理的数字图像格式。

    [ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] \begin{bmatrix} u \\ v \\ 1\end{bmatrix}= \begin{bmatrix} \frac{1}{d_x} & 0 & u_0 \\ 0 & \frac{1}{d_y} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} uv1 = dx1000dy10u0v01 xy1

    • d x d_x dx d y d_y dy 是图像传感器的像素尺寸, u 0 u_0 u0 v 0 v_0 v0 是图像坐标系的原点位置(通常是图像中心)。

    • 详细解释

      1. 公式各部分解释

      • u , v u, v u,v :这是图像像素坐标系中的坐标, u u u v v v 分别表示图像的水平方向和垂直方向上的像素位置。这个坐标通常以像素为单位,代表了图像传感器上某点的具体像素坐标。
      • x , y x, y x,y :这是图像物理坐标系中的坐标, x 和 y 表示图像平面上的物理位置,通常以毫米或米为单位。物理坐标表示图像传感器上光学投影的实际位置。
      • d x , d y d_x, d_y dx,dy :这是图像传感器的像素尺寸,分别表示传感器在水平方向和垂直方向上的每个像素的物理尺寸。通常以毫米或微米为单位。因为传感器是离散化的,它的每个像素都代表了一定的物理区域。
      • u 0 , v 0 u_0, v_0 u0,v0 :这是图像坐标系的原点位置,通常位于图像的中心。具体来说, u_0 和 v_0 分别是图像在水平方向和垂直方向上的中心像素坐标。这些值决定了图像的坐标原点,并用于调整图像中心的偏移。

      2. 转换过程解释

      • 首先,物体在图像物理坐标系中的位置 [ x , y , 1 ] T [x, y, 1]^T [x,y,1]T 是通过之前的透视投影步骤得出的,它表示物体在图像传感器上的位置,以物理单位(例如毫米)表示。
      • 然后,为了将其转换为图像像素坐标系中的位置 [ u , v , 1 ] T [u, v, 1]^T [u,v,1]T ,需要将物理单位转换为像素单位。这是通过将物理坐标除以每个像素的大小 d x d_x dx d y d_y dy 实现的。

      具体的转换公式为:

      u = x d x + u 0 u = \frac{x}{d_x} + u_0 u=dxx+u0

      v = y d y + v 0 v = \frac{y}{d_y} + v_0 v=dyy+v0

      • 其中, x d x \frac{x}{d_x} dxx 将物理坐标 x x x 转换为像素数, u 0 u_0 u0 是图像的水平中心偏移量。同理, y d y \frac{y}{d_y} dyy 将垂直方向的物理坐标 y y y 转换为像素数, v 0 v_0 v0 是图像的垂直中心偏移量。
    • 案例分析

      假设我们有一个图像传感器,传感器的像素大小为 d x = d y = 0.005 m m d_x = d_y = 0.005 mm dx=dy=0.005mm,每个像素的宽度和高度都是 0.005 m m 0.005 mm 0.005mm。假设物体的图像物理坐标为 x = 0.1 m m , y = 0.15 m m x = 0.1 mm, y = 0.15 mm x=0.1mmy=0.15mm,图像的中心点坐标为 u 0 = 500 , v 0 = 400 u_0 = 500 , v_0 = 400 u0=500v0=400 ,我们可以计算该点的像素坐标:

      u = x d x + u 0 = 0.1 0.005 + 500 = 20 + 500 = 520 u = \frac{x}{d_x} + u_0 = \frac{0.1}{0.005} + 500 = 20 + 500 = 520 u=dxx+u0=0.0050.1+500=20+500=520

      v = y d y + v 0 = 0.15 0.005 + 400 = 30 + 400 = 430 v = \frac{y}{d_y} + v_0 = \frac{0.15}{0.005} + 400 = 30 + 400 = 430 v=dyy+v0=0.0050.15+400=30+400=430

      因此,物体在图像像素坐标系中的位置是 ( 520 , 430 ) (520, 430) (520,430) 像素。

    • 图像平面中的物理坐标和像素坐标有什么区别

      图像平面中的物理坐标像素坐标之间的区别主要在于它们的表示单位在成像系统中的作用。下面详细解释它们的不同之处:

      1. 图像物理坐标

      • 单位: 图像物理坐标以物理单位(通常为毫米、微米等)表示,描述的是图像传感器(如相机的感光芯片)平面上的实际位置。
      • 坐标系统: 图像物理坐标系的原点通常位于图像传感器的中心点。物理坐标表示的是物体投影在图像传感器上的位置。传感器的尺寸和像素的物理大小决定了这个坐标系的范围。
      • 作用: 图像物理坐标反映了真实世界中光学成像系统的物理性质,包括镜头焦距、感光芯片尺寸等。它用于描述物体在传感器平面上的精确物理位置,通常在透视投影模型中起重要作用,因为它是光学成像过程中的中间步骤。
      • 示例: 假设摄像机传感器的尺寸是 10 mm × 8 mm 10 \, \text{mm} \times 8 \, \text{mm} 10mm×8mm,物体的投影在传感器上的位置可能是 ( 2.5 mm , 4 mm ) (2.5 \, \text{mm}, 4 \, \text{mm}) (2.5mm,4mm)

      2. 图像像素坐标

      • 单位: 图像像素坐标以像素为单位,描述的是数字图像中的离散点。像素坐标是最常用的坐标系统,因为大多数图像处理和计算机视觉算法都是基于数字图像的像素进行操作。
      • 坐标系统: 图像像素坐标系的原点通常位于图像的左上角,水平向右为 u u u 轴,垂直向下为 v v v 轴。坐标值为正整数,范围由图像的分辨率决定。例如,在一幅 1920 × 1080 1920 \times 1080 1920×1080 像素的图像中,坐标范围为 0 ≤ u < 1920 0 \leq u < 1920 0u<1920 0 ≤ v < 1080 0 \leq v < 1080 0v<1080
      • 作用: 像素坐标用于数字图像处理,它们是图像中各个点的位置标识。所有的图像分析、特征提取、目标识别等操作都基于像素坐标进行。通过将物理坐标转换为像素坐标,我们可以在数字图像中找到物体的位置。
      • 示例: 在一幅 1920 × 1080 1920 \times 1080 1920×1080 像素的图像中,物体可能位于坐标 ( 640 , 360 ) (640, 360) (640,360) 这个像素点。

      3. 两者的转换关系

      • 物理坐标到像素坐标的转换: 由于图像传感器上的每个像素有其固定的物理尺寸(例如,单个像素的宽度和高度),可以使用像素的尺寸来进行单位转换。转换公式通常是:

        u = x d x + u 0 , v = y d y + v 0 u = \frac{x}{d_x} + u_0, \quad v = \frac{y}{d_y} + v_0 u=dxx+u0,v=dyy+v0

        其中:

        • x , y x, y x,y 是图像物理坐标,以毫米为单位。
        • d x , d y d_x, d_y dx,dy 是图像传感器的像素尺寸,表示每个像素在水平方向和垂直方向上的物理大小(以毫米或微米为单位)。
        • u 0 , v 0 u_0, v_0 u0,v0 是图像中心在像素坐标系中的位置。

      4. 实际意义

      • 图像物理坐标: 更贴近物理成像过程,用于分析光学特性、镜头畸变、焦距等问题,是光学建模和透视投影计算的中间过程。
      • 像素坐标: 用于数字图像处理和计算机视觉的后续操作,是实际应用中最常用的坐标系统。由于数字图像是由像素组成,像素坐标对于特征检测、物体识别、图像增强等处理至关重要。

      总结

      • 图像物理坐标反映了图像在传感器上的实际物理位置,与相机的光学特性直接相关。
      • 图像像素坐标是数字图像处理中的常用坐标系统,用于在图像中定位特征点和执行各种图像操作。两者通过图像传感器的像素尺寸和坐标原点位置进行相互转换。

4. 世界坐标系到图像像素坐标系的最终公式

  • 通过上述转换,可以得到世界坐标系到图像像素坐标系的完整线性模型:

    [ u v 1 ] = 1 Z C [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ R t 0 3 T 1 ] [ X W Y W Z W 1 ] \begin{bmatrix} u \\ v \\ 1 \end{bmatrix}= \frac{1}{Z_C} \begin{bmatrix} \frac{1}{d_x} & 0 & u_0 \\ 0 & \frac{1}{d_y} & v_0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} R & t \\ 0_3^T & 1 \end{bmatrix} \begin{bmatrix} X_W \\ Y_W \\ Z_W \\ 1 \end{bmatrix} uv1 =ZC1 dx1000dy10u0v01 f000f0001000 [R03Tt1] XWYWZW1

  • 这个公式描述了从世界坐标系到图像像素坐标系的整个过程,体现了透视投影的线性变换关系。

总结

图中描述了物体从世界坐标系到图像像素坐标系的逐步转换过程,涉及旋转、平移、投影和尺度转换等步骤。这些转换在计算机视觉和图像处理中至关重要,有助于从二维图像中恢复三维世界的信息。

2D图像的基本光度模型

模型公式:

f ( x , y ) = i ( x , y ) ∗ r ( x , y ) f(x, y) = i(x, y) * r(x, y) f(x,y)=i(x,y)r(x,y)

公式表示了图像中每个点的亮度是由光照物体表面反射共同决定的。

  • f ( x , y ) : f(x, y): f(x,y): 图像亮度值,即在图像中某个点 ( x , y ) (x, y) (x,y)像素值。可以理解为我们看到的图像亮度。
  • i ( x , y ) : i(x, y): i(x,y): 光照(照度)函数。它表示在图像的每个点 ( x , y ) (x, y) (x,y) 处的光源强度,也就是场景中光线的分布。简单来说,它表示光线的多少,比如说房间的某个区域光照很强,而其他地方光照较弱。
  • r ( x , y ) : r(x, y): r(x,y): 反射函数,表示物体表面的反射系数或反射率。这个值取决于物体表面的材质属性,比如反光金属表面和磨砂表面反射率不同。它描述的是物体表面如何反射光线,也就是物体本身的颜色和纹理。

公式约束条件:

  • 图像亮度值( f ( x , y ) f(x, y) f(x,y))和光照值( i ( x , y ) i(x, y) i(x,y))都应该大于 0 0 0,但不可以无限大。这是因为在实际图像中,亮度和光照不可能是负值,也不可能无限高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/54128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷题day11 栈与队列下【逆波兰表达式求值】【滑动窗口最大值】【前 K 个高频元素】

⚡刷题计划day11 栈与队列继续&#xff0c;可以点个免费的赞哦~ 往期可看专栏&#xff0c;关注不迷路&#xff0c; 您的支持是我的最大动力&#x1f339;~ 目录 ⚡刷题计划day11 栈与队列继续&#xff0c;可以点个免费的赞哦~ 往期可看专栏&#xff0c;关注不迷路&#xf…

无心剑七绝《华夏中兴》

七绝华夏中兴 长空万里尽春声 治世群英喜纵横 一代雄才华夏梦 中兴日月照前程 2024年10月1日 平水韵八庚平韵 无心剑的七绝《华夏中兴》通过对自然景观和国家景象的描绘&#xff0c;展现了一种恢弘的气势和对未来的美好愿景。 意境开阔&#xff1a;首句“长空万里尽春声”以广阔…

MATLAB数字水印系统

课题介绍 本课题为基于MATLAB的小波变换dwt和离散余弦dct的多方法对比数字水印系统。带GUI交互界面。有一个主界面GUI&#xff0c;可以调用dwt方法的子界面和dct方法的子界面。流程包括&#xff0c;读取宿主图像和水印图像&#xff0c;嵌入&#xff0c;多种方法的攻击&#xf…

sysbench 命令:跨平台的基准测试工具

一、命令简介 sysbench 是一个跨平台的基准测试工具&#xff0c;用于评估系统性能&#xff0c;包括 CPU、内存、文件 I/O、数据库等性能。 ‍ 比较同类测试工具 bench.sh 在上文 bench.sh&#xff1a;Linux 服务器基准测试中介绍了 bench.sh 一键测试脚本&#xff0c;它对…

GAMES101(17~18节,物理材质模型)

材质 BRDF 材质&#xff1a;决定了光线与物体不同的作用方式 BRDF定义了物体材质,包含漫反射和镜面部分 BSDF &#xff08;scattering散射&#xff09; BRDF&#xff08;reflect反射&#xff09; BTDF 光线打击到物体上会向四面八方散射 反射 光线打击到物体上反射出去…

IIS开启后https访问出错net::ERR_CERT_INVALID

安装ArcGIS server和portal等&#xff0c;按照说明上&#xff0c;先开启iis&#xff0c;在安装server、datastore、portal、webadapter等&#xff0c;遇到一些问题&#xff1a; 问题1 访问http正常&#xff0c;访问https出错&#xff1a; 解决方案 从这里找到解决方案&…

【Android 源码分析】Activity生命周期之onPause

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

通信工程学习:什么是CSMA/CA载波监听多路访问/冲突避免

CSMA/CA&#xff1a;载波监听多路访问/冲突避免 CSMA/CA&#xff08;Carrier Sense Multiple Access/Collision Avoidance&#xff09;&#xff0c;即载波监听多路访问/冲突避免&#xff0c;是一种用于数据传输时避免各站点之间冲突的算法&#xff0c;尤其适用于无线局域网&…

2022年6月 Frontier 获得性能第一的论文翻译

为百万兆级加速架构做高性能 Linpack 优化 摘要 我们详细叙述了在 rocHPL 中做的性能优化&#xff0c;rocHPL 是 AMD 对 HPL 基准的开源实现&#xff0c;主要是针对节点进行优化的架构&#xff0c;是为百万兆级系统而设计的&#xff0c;比如&#xff1a;Frontier suppercomput…

深蕾半导体Astra™ SL1620详细介绍,嵌入式物联网处理器

一&#xff0c;SL1620是什么 Astra™ SL系列是深蕾半导体推出的高度集成的嵌入式物联网处理器SoC&#xff08;System on Chip&#xff09;系列产品&#xff0c;专为多模式消费者、企业和工业物联网工作负载而设计。SL1620是Astra™ SL系列中的一款成本和功耗优化的安全嵌入式So…

Windows 11 安装配置 Git 教程

目录 Git Windows 11 环境安装配置 Git Git Git是一个开源的分布式版本控制系统&#xff0c;由Linus Torvalds创建&#xff0c;用于有效、高速地处理从小到大的项目版本管理。Git是目前世界上最流行的版本控制系统&#xff0c;广泛应用于软件开发中。 以下是Git的一些关键特…

【C#】CacheManager:高效的 .NET 缓存管理库

在现代应用开发中&#xff0c;缓存是提升性能和降低数据库负载的重要技术手段。无论是 Web 应用、桌面应用还是移动应用&#xff0c;缓存都能够帮助减少重复的数据查询和处理&#xff0c;从而提高系统的响应速度。然而&#xff0c;管理缓存并不简单&#xff0c;尤其是当你需要处…

使用RestTemplate调用EMQX API查询MQTT客户端列表信息

项目中集成mqtt客户端查询功能&#xff0c;使用到了EMQX api-v5&#xff0c;具体步骤&#xff1a; 一、准备工作 首先在EMQX dashboard中添加API 密钥 填写密钥名称&#xff0c;点击确定&#xff0c;会生成API Key和Secret Key&#xff0c;保存起来备用。 二、配置文件 在…

AWS Network Firewall - IGW方式配置只应许白名单域名出入站

参考链接 https://repost.aws/zh-Hans/knowledge-center/network-firewall-configure-domain-ruleshttps://aws.amazon.com/cn/blogs/networking-and-content-delivery/deployment-models-for-aws-network-firewall/ 1. 创建防火墙 选择防火墙的归属子网&#xff08;选择公有…

基于Hive和Hadoop的共享单车分析系统

本项目是一个基于大数据技术的共享单车分析系统&#xff0c;旨在为用户提供全面的单车使用信息和深入的出行行为分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 S…

【JavaEE】http/https 超级详解

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【Java】登神长阶 史诗般的Java成神之路 &#x1f98a;一.定义 HTTP&#xff08;HyperText Transfer Protocol&#xff09;即超文本传输协议&#xff0c;他是应用非常广泛的应用层协议&#xff0c;是…

C语言、Eazy_X——五子棋

//五子棋#include<graphics.h>#define board_size 20 #define pixel 600 int pr pixel / board_size; char board_data[board_size][board_size]; char current_piece o; int count 0;//检测指定玩家是否获胜 bool CheckWin(char c) {int i, j;//检查行for (i 0; i &…

线程池:线程池的实现 | 日志

&#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系列 &#x1f308;Linux学习专栏&#xff1a; 南桥谈Linux &#x1f308;数据结构学习专栏&#xff1a; 数据结构杂谈 &#x1f308;数据…

数值计算的程序设计问题举例

### 数值计算的程序设计问题 #### 1. 结构静力分析计算 **涉及领域**&#xff1a;工程力学、建筑工程 **主要问题**&#xff1a;线性代数方程组&#xff08;Linear Algebraic Equations&#xff09; **解释说明**&#xff1a; 在结构静力分析中&#xff0c;我们需要解决复杂的…

C++:类中的特殊关键字,运算重载符

1.My_string类中重载以下的运算符&#xff1a; 、[] 、>、<、、>、<、&#xff01;、、输入输出(>>、<<) 主函数&#xff1a; #include <iostream> #include "my_string.h"using namespace std;int main() {My_string s1("cat…