图像处理 几何变换

本文详细介绍了图像处理中的几何变换,包括平移、旋转、镜像等,并探讨了使用齐次坐标和仿射变换矩阵的优势。同时,讨论了图像旋转后可能出现的问题以及解决方案——插值算法,如双线性插值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I have to remind myself that some birds don’t mean to be caged . Their feathers are just too bright. And when they fly away, the part of you that knows it was a sin to lock them up. DOES rejoice. Still, the place you live in is that much more drab and empty that they’re gone. I guess I just miss my friend. ——《肖申克的救赎》

前言

几何变换,又称空间变换,是图形处理的一个方面,是各种图形处理算法的基础。它将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置,其实质是改变像素的空间位置,估算新空间位置上的像素值。几何变换算法一般包括空间变换运算和插值算法。

几何变换不改变图像的像素值, 只是在图像平面上进行像素的重新安排。适当的几何变换可以最大程度地消除由于成像角度、透视关系乃至镜头自身原因所造成的几何失真所产生的负面影响。几何变换常常作为图像处理应用的预处理步骤, 是图像归一化的核心工作之一。

一个几何变换需要两部分运算:首先是空间变换所需的运算, 如平移、缩放、旋转和正平行投影等, 需要用它来表示输出图像与输入图像之间的(像素)映射关系;此外,还需要使用灰度插值算法, 因为按照这种变换关系进行计算, 输出图像的像素可能被映射到输入图像的非整数坐标上。

概念

基础概念 说明
图像的几何变换 指用数学建模的方法来描述图像的位置、大小、形状等变换。
几何变换的内容 图像的空间平移、比例缩放、旋转、仿射变换和图像插值。
几何变换的实质 改变像素的空间位置。

图像集合变换的表达式

( x , y ) = T { ( u , v ) } (x, y) = T\{(u, v)\} (x,y)=T{ (u,v)}

  • ( x , y ) (x, y) (x,y)为变换后图像像素的笛卡尔坐标, ( u , v ) (u , v) (u,v)为原始图像中像素的笛卡尔坐标。
  • 变换后,如果 ( x , y ) = ( u , v ) (x, y)=(u , v) (x,y)=(u,v),则变换后的图像仅仅是原图像的简单拷贝。
  • 注意,几何变换不改变像素值,而是改变像素所在的位置。这说明像素的亮度和色彩并不发生变化,仅仅是像素位置发生改变。

齐次坐标表示

  • 所谓齐次坐标就是用 N + 1 N+1 N+1维向量表示 N N N维向量。
  • 平面上的点 P P P的坐标为 ( x , y ) (x, y) (x,y),其齐次坐标表示为 ( w x , w y , w ) (wx, wy, w) (wx,wy,w),其中 w w w为任意常数。
  • 如果规定齐次坐标的第三个分量 w w w 1 1 1,则称为规范齐次坐标。

引入齐次坐标的原因

  • 在对图像进行操作时候,经常要对图像连续做几次变换。例如做了平移后再做旋转与缩放。因为旋转、缩放都是线性变换,因此可将旋转和缩放合并成一个变换矩阵来表示,如:

[ x y 1 ] = [ x 0 y 0 1 ] T { \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}^T [xy1]=[x0y01]T

  • 在直角坐标系中,平移不是线性变换,因此不能与旋转、缩放等操作合并成一个变换矩阵。
  • 引入齐次坐标后,平移变为线性变换,从而可以采用一个通用的变换模型(仿射变换模型)表示图像的各种几何变换。

仿射变换

[ x y 1 ] = [ x 0 y 0 1 ] T { \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}^T [xy1]=[x0y01]T

  • T仿射矩阵

T = [ a b p c d q m n s ] T=\left[ \begin{array}{ccc} a & b & p\\ c & d & q\\ m & n & s \end{array} \right ] T=acmbdnpqs

  • a   b   c   d a \ b \ c \ d a b c d:实现比例变换、旋转变换、偏移变换
  • m   n m \ n m n:实现平移变换、 m m m n n n分别为 X X X Y Y Y方向的平移量。
  • s s s:实现等比例变换
  • p   q p \ q p q:实现透视变换

图像的位置变换

  • 所谓图像的位置变换是指图像的大小和形状不发生变化,只是将图像进行平移、旋转、镜像等。
  • 图像的位置变换主要是用于目标识别中的目标配准。

平移

  • 平移的原理:
    • 在图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像相同

平移变换

  • 平移的直角坐标公式:

{ x = x 0 + Δ x ( x 0 , y 0 ) 为平移之前的像素坐标 y = y 0 + Δ y ( x , y ) 为 对 应 像 素 平 移 后 的 坐 标 \begin{cases} x=x_0+\Delta x & \text{$(x_0, y_0)$为平移之前的像素坐标}\\ y=y_0+\Delta y & \text{$(x, y)为对应像素平移后的坐标$} \end{cases} { x=x0+Δxy=y0+Δy(x0,y0)为平移之前的像素坐标(x,y)为对应像素平移后的坐标

  • 平移的齐次坐标公式

[ x y 1 ] = [ x 0 y 0 1 ] × [ 1 0 0 0 1 0 Δ x Δ y 1 ] { \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ \Delta x & \Delta y & 1 \end{array} \right ]} [xy1]=[x0y01]×10Δx01Δy001

平移的逆变换

  • 平移的直角坐标公式:

{ x = x 0 − Δ x ( x 0 , y 0 ) 为平移之前的像素坐标 y = y 0 − Δ y ( x , y ) 为 对 应 像 素 平 移 后 的 坐 标 \begin{cases} x=x_0 - \Delta x & \text{$(x_0, y_0)$为平移之前的像素坐标}\\ y=y_0 - \Delta y & \text{$(x, y)为对应像素平移后的坐标$} \end{cases} { x=x0Δxy=y0Δy(x0,y0)为平移之前的像素坐标(x,y)为对应像素平移后的坐标

  • 平移的齐次坐标公式

[ x 0 y 0 1 ] = [ x y 1 ] × [ 1 0 0 0 1 0 − Δ x − Δ y 1 ] { \left[\begin{array}{ccc} x_0 & y_0 & 1 \end{array} \right ]}={ \left[\begin{array}{ccc} x & y & 1 \end{array} \right ]}\times{ \left[\begin{array}{ccc} 1 & 0 & 0\\ 0 & 1 & 0\\ -\Delta x & -\Delta y & 1 \end{array} \right ]} [x0y01]=[xy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值