图像处理与视觉感知复习--概述

图像和像素的表示
一幅图像可分解为许多个单元。每个基本单元叫做图像元素,简称像素

  • 图像是用于各种观测系统以不同形式和手段观测客观世界而获得的、可以直接或间接作用于人的视觉系统而产生的视知觉实体。
    图像可以分为模拟图像和数字图像
    模拟图像:二维空间和亮度都是连续值的图像。亮度值连续且不分等级
    数字图像:二维空间和亮度都是用有限数字数值表示的图像

图像工程的三个层次
在这里插入图片描述

视觉适应与辨别

亮度适应现象:感知亮度不是亮度的简单函数
马赫带:视觉系统往往会在不同强度区域的边界处出现“下冲”或“上冲”现象(毛边)

图像取样和量化
动态范围:

  • 处于存储和量化硬件的考虑,灰度级数通常取为2的整数幂,即 L = 2 k L = 2^k L=2k
  • 灰度级区间为: [ 0 , L − 1 ] [0, L - 1] [0,L1]
  • 动态范围上限取决于饱和度,下限取决于噪声

像素之间的一些基本关系

  • 相邻像素

    • 4邻域
      在这里插入图片描述

    • D邻域
      在这里插入图片描述

    • 8邻域
      在这里插入图片描述

  • 连通性
    连通性是描述区域和边界的重要概念
    两个像素连通的两个必要条件是:

    1. 两个像素的位置是否相邻
    2. 两个像素的灰度值是否满足特定的相似性准则
    • 4连通
    • 8连通
    • m连通
      在这里插入图片描述
      两种情况都属于m连通,一个是一个在另一个的4邻域内,另外一种是在对应的d邻域内,并且4邻域没有对应的相似像素(一个像素块周围只能有一个像素块)

例:
在这里插入图片描述

答:第一个是8连通,第二个是m连通,第三个是4连通

  • 距离
    距离度量
    1. 欧式距离(范数为2的距离)
      D e ( p , q ) = [ ( x − u ) 2 + ( y − v ) 2 ] 1 2 D_e(p, q) = [(x - u)^2 + (y - v)^2]^{\frac{1}{2}} De(p,q)=[(xu)2+(yv)2]21
    2. (曼哈顿)城区距离(范数为1的距离)
      D 4 ( p , q ) = ∣ x − u ∣ + ∣ y − v ∣ D_4(p, q) = |x - u| + |y - v| D4(p,q)=xu+yv
    3. 棋盘距离(范数为 ∞ \infty 的距离)
      D 8 ( p , q ) = m a x ( ∣ x − u ∣ , ∣ y − v ∣ ) D_8(p, q) = max(|x - u|, |y - v|) D8(p,q)=max(xu,yv)

例:
在这里插入图片描述

D e = 2 2 + 5 2 = 29 D 4 = 2 + 5 = 7 D 8 = 5 D_e = \sqrt{2^2 + 5^2} = \sqrt{29} \\ D_4 = 2 + 5 = 7 \\ D_8 = 5 De=22+52 =29 D4=2+5=7D8=5

空间变换的坐标公式与应用

坐标变换可以借助矩阵写为
v ′ = T v v' = Tv v=Tv
在这里插入图片描述
为了将所有的对图像的操作都变成对矩阵的乘法运算,将原坐标进行升维,将2D坐标变成3D坐标,这样对图像进行平移的矩阵操作也变成了矩阵乘法。

转换为3D坐标后对对应图像操作的对应矩阵:
在这里插入图片描述

  • 改变图像的像素值,我们称为滤波(Filtering)

  • 改变图像的像素位置,我们称为扭曲(Warping)

  • 转置变换
    图像转置是指将图像像素的x坐标和y坐标互换
    图像的大小会随之改变:高度和宽度将互换
    在这里插入图片描述
    对应要乘的矩阵:

    [ 0 1 0 1 0 0 0 0 1 ] \begin{bmatrix} 0 & 1 & 0\\ 1 & 0 & 0 \\ 0 & 0 & 1\\ \end{bmatrix} 010100001

  • 旋转变化(重点)
    公式推导:
    在这里插入图片描述 逆时针旋转 θ \theta θ度后,对应的系数矩阵(极坐标变换方式)
    { x ′ = x cos ⁡ θ − y sin ⁡ θ y ′ = x sin ⁡ θ + y cos ⁡ θ \begin{cases} x' = x\cos\theta - y \sin\theta\\ y' = x\sin\theta + y\cos\theta \end{cases} {x=xcosθysinθy=xsinθ+ycosθ
    [ cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 ] \begin{bmatrix} \cos\theta & -\sin\theta & 0\\ \sin\theta & \cos\theta & 0\\ 0 & 0 & 1 \end{bmatrix} cosθsinθ0sinθcosθ0001

例:
在这里插入图片描述
答:

  1. 平移变换
    [ 1 0 6 0 1 5 0 0 1 ] \begin{bmatrix} 1 & 0 & 6\\ 0 & 1 & 5 \\ 0 & 0 & 1\\ \end{bmatrix} 100010651
    伸缩变换
    [ 4 0 0 0 2 0 0 0 1 ] \begin{bmatrix} 4 & 0 & 0\\ 0 & 2 & 0 \\ 0 & 0 & 1\\ \end{bmatrix} 400020001
  2. 对应公式为
    [ x y 1 ] ⋅ [ cos ⁡ 45 − sin ⁡ 45 0 sin ⁡ 45 cos ⁡ 45 0 0 0 1 ] \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} \cdot \begin{bmatrix} \cos 45 & -\sin 45 & 0\\ \sin 45 & \cos 45 & 0\\ 0 & 0 & 1 \end{bmatrix} xy1 cos45sin450sin45cos450001
  • 变换级联
    在这里插入图片描述
  • 仿射变换
    在这里插入图片描述
  • 投影变换
    在这里插入图片描述

灰度级插值

在数字图像处理中,几何变换由两个基本操作组成:

  • 空间变换,它定义了图像平面上像素的重新安排
  • 灰度级插补,处理空间变换后图像中像素灰度级的赋值

数字图像处理只能对坐标网格点(离散点)的值进行变换。而坐标变换后产生的新坐标值同网格点值往往不重合,因此需要通过内插的方法将非网格点的灰度值变换成网格点的灰度值,这种算法称为灰度内插:
方法:

  • 最邻近插值法
    将离他最近的灰度值赋予它
    这种方法经常产生不希望的人为疵点,如高分辨率图像的直边扭曲。可以用更完善的技术得到较平滑的结果。

  • 双线性插值
    在这里插入图片描述
    将相邻的两个灰度值相连对应线性值就是当前位置的灰度值

    双线性插值的特点:

    • 计算量大,但缩放后图像质量高,不会出现图像不连续的情况
    • 具有低通滤波器的性质,使高频分量减弱,所以使图像的轮廓在一定程度上受损
  • 高阶插值

常见的灰度插值算法和对应的优缺点:

  • 最邻近插值法:这种方法简单效果不太好
  • 双线性插值(一阶插值),计算量大,但缩放后图像质量高,不会出现图像不连续的情况
  • 高阶插值,计算量最大,插值后图像的视觉质量最好

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 14:36:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 14:36:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 14:36:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 14:36:02       20 阅读

热门阅读

  1. 鸿蒙 如何将base64的图片保存到相册

    2024-06-15 14:36:02       9 阅读
  2. blender

    blender

    2024-06-15 14:36:02      5 阅读
  3. 难or易?c++

    2024-06-15 14:36:02       7 阅读
  4. web前端黑马下载:探索学习资源的海洋

    2024-06-15 14:36:02       7 阅读
  5. Gobject tutorial 二

    2024-06-15 14:36:02       4 阅读
  6. 刷题理解JVM内部的数据存储

    2024-06-15 14:36:02       8 阅读
  7. C 语言实例 - 输出数组

    2024-06-15 14:36:02       7 阅读
  8. c语言中的gets()函数记录

    2024-06-15 14:36:02       10 阅读
  9. 八、BGP

    八、BGP

    2024-06-15 14:36:02      5 阅读
  10. TypeScript中的Symbol,确实唯一。。。

    2024-06-15 14:36:02       6 阅读
  11. 认识一些分布-关于极值点分布的一些知识

    2024-06-15 14:36:02       7 阅读
  12. 把本机的bash构建到docker镜像里面

    2024-06-15 14:36:02       5 阅读
  13. AbpVnext中的DDD指南之聚合根

    2024-06-15 14:36:02       10 阅读