图像处理笔记02"/>
数字图像处理笔记02
数字图像处理基本运算
图像的像素级运算
- 点运算 — 线性点运算,非线性点运算
- 线性点运算 D_{out} = f(D_{in}) = aD_{in} + b
取值 变化
a = 1;b = 0 取值 恒等
a < 0 黑白反转
|a| > 1 增加对比度
|a| < 1 减少对比度
b > 0 增加亮度
b < 0 减小亮度 - 非线性运算 f(I(x,y)) = I(x,y) + C* I(x,y) * (I(x,y)_m - I(x,y))\ {C>0,增强中间部分亮度C<0,减小中加部分亮度
- 由于上方算法计算了过大.故可采用映射表运算.由于每一次具体运算时,输入输出的范围都是有穷可列个,将所有可能的输入都计算出输出,运算时查表即可
- 点运算特点
- 每一个像素都独立进行灰度值的改变
- 输出时每一个像素点的灰度值仅取决于相应的输入像素点的值
- 点运算不改变图像的空间关系
- 点运算可完全由灰度变换函数或灰度映射表确定
- 如对比度增强,对比度拉伸,灰度变化等
- 线性点运算 D_{out} = f(D_{in}) = aD_{in} + b
- 代数运算 — 加减乘
- 加法运算 C(x,y) = A(x,y) + B(x,y)
- 主要应用
- 去除”叠加性”噪声
- 对M副加性噪音进行求和平均,可以使图像的评分信噪比提高M倍
- 生成图片叠加效果
- g(x,y) = \alpha f(x,y) + \beta h(x,y)\\alpha + \beta = 1
- 可用于图像合成的效果或两幅图像的衔接
- 减法运算 C(x,y) = A(x,y) - B(x,y)
- 主要应用
- 去除不需要的叠加性图案(去除背景或用于电影,电视蓝屏特效)
- 检测同一场景两幅图像之间的变化
- 乘法运算 C(x,y) = A(x,y) * B(x,y)
- 主要应用
- 用二值蒙版图像与原图做乘法运算
- 逻辑运算 – 求反,异或,或,与
- 求反 g(x,y) = R - f(x,y) R为f(x,y)的灰度级
- 主要应用
- 获得一个图像的负像(负片)
- 获得一个子图像的补图像
- 异或 g(x,y) = f(x,y) \oplus h(x,y)
- 主要应用,获得相交子图像
- 与 g(x,y) = f(x,y) \wedge h(x,y)
- 主要应用,求两个子图像的相交子图
- 或
- 二值图像的基本逻辑运算
图像的空域变换
几何变换 — 改变图像的形状
- 定义:对原始图像,需要改变其大小,形状和位置的变化
- 类型:二维平面图像的几何变换,三维图像的几何变换,由三维向二维平面的投影变换等
- 二 维图像几何变换的定义:对于原始图像f(x,y),坐标变换函数 x’ = a(x,y);,y’ = b(x,y)唯一确定了几何变换:g(x’,y’) = f(a(x,y),b(x,y)), g(x,y)为目标图像
- 二维图像几何变换的基本方式
多项式变换
- 基本公式 {x′=∑Mi=0∑Nj=0aijxiyjy′=∑Mi=0∑Nj=0bijxiyj
- 线性变换—多项式变换中的一阶变换 x’ = ax + by +e;,y’ =cx + dy + f
- 二维图像的基本变换:由线性变换确定的图像的平移,缩放,旋转,镜像与错切
- 二维数字图像基本几何变换的矩阵计算
- 原始图像与目标图像之间的坐标变换函数为线性函数(可以通过对应的线性矩阵变化实现)
- 齐次坐标表示法 — 用n+1维向量表示n维向量(仿射变换)\\left[ x′y′1 \right] = T * \left[ xy1 \right],,,,,,T = \left[ ac0bd0cf1 \right]
- T矩阵可以分解为两个子矩阵.子矩阵1\left[ acbd \right]_{2*2},子矩阵2\left[ ef \right]
子矩阵1可以实现图像的恒等,比例,镜像,旋转和错切变换
- 水平镜像:
设a(x,y) = -x;,,,b(x,y) = y
则:\g(x’,y’) = f(-x + x_0,y)
\left[ x′y′1 \right]{new} = \left[ a(x,y)b(x,y)1 \right]{new} = \left[ −100010001 \right]\left[ xy1 \right]_{old} - 垂直镜像:
设a(x,y) = x;,,,b(x,y) = -y
则:\g(x’,y’) = f(-x + x_0,y)
\left[ x′y′1 \right]{new} = \left[ a(x,y)b(x,y)1 \right]{new} = \left[ 1000−10001 \right]\left[ xy1 \right]_{old} - 缩放变换:x方向缩放c倍,y方向缩放d倍
设a(x,y) = c*x;,,,b(x,y) = d*y
则:\g(x’,y’) = f(c*x,d*y)
\left[ x′y′1 \right]{new} = \left[ a(x,y)b(x,y)1 \right]{new} = \left[ 1c0001d0001 \right]\left[ xy1 \right]_{old}
c = d,按比例缩放; c \neq d,几何畸变 - 旋转变换(绕原点旋转\theta):
设a(x,y) = xcos\theta - ysin\theta;,,,b(x,y) = xsin\theta +ycos\theta
则:\g(x’,y’) = f(xcos\theta - ysin\theta,xsin\theta + ycos\theta)
\left[ x′y′1 \right]{new} = \left[ a(x,y)b(x,y)1 \right]{new} = \left[ cosθsinθ0−sinθcosθ0001 \right]\left[ xy1 \right]_{old} - 注意点1为了避免信息丢失,一定会有平移坐标或放大图像
- 注意点2图像选择厚会出现空洞点做填充处理,即插值处理
- 错切变换(在平面上的非垂直投影效果):
x方向的错切: {x′=x+dxyy′=y ,\left[ x′y′1 \right]{new}=\left[ 100dx10001 \right]\left[ xy1 \right]{old}
y方向的错切: {x′=xy′=y+dyx ,\left[ x′y′1 \right]{new}=\left[ 1dy0010001 \right]\left[ xy1 \right]{old}
错切之后原图像的像素排列方向改变,xy单独变化
- 水平镜像:
- 子矩阵2可以实现图像的平移变换(e = 0;f = 0时无平移)
- 平移:
设a(x,y) = x + x_0;,,,b(x,y) = y + y_0
则:\g(x’,y’) = f(x + x_0,y + y_0)
\left[ x′y′1 \right]{new} = \left[ a(x,y)b(x,y)1 \right]{new} = \left[ 100010x0y01 \right]\left[ xy1 \right]_{old}
- 平移:
- 伪仿射变换–双线性几何变换
{x′=ax+by+gxy+ey′=cx+dy+hxy+f
特点:
- 与xy平面上坐标轴平行的直线,变换为x’y’平面上的直线
- 与xy平面上坐标轴不平行的直线,变换为x’y’平面上的曲线
- 二维图像基本几何变换的特点
- 变换前图像的每一点在变换后都有一确定的对应点
- 平行直线变换后仍为平行,相交直线变换后仍相交
- 变换前直线上的线段比保持不变
- 任意变形变换 — 非线性几何变换
- 在二维平面上,实现图像几何形状的任意变换
- 在二位平面上,校正图像的几何失真
- 特征:一般的,原始图像与目标图像之间,存在一一对应的特征点(GCP)
- 模型:一般的,原始图像与目标函数之间的坐标变换函数为非线性函数,需要高阶多项式进行近似描述;
通过原始图像与目标图像之间多个对应特征点,可以确定上述多项式中的位置参数
例如三阶多项式: ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪x=a0+a1X+a2Y+a3X2+a4XY+a5Y2+a6X3+a7X2Y+a8XY2+a9Y3y=b0+b1X+b2Y+b3X2+b4XY+b5Y2+b6X3+b7X2Y+b8XY2+b9Y3 - 多项式阶数与GCP数量的关系: GCPs \ge \frac{(t + 1)(t + 2)}{2} ,t为多项式阶数
通过多项式变换进行任意变形变换后的误差,通常用均方误差表示:\RMS = \sqrt{\frac{\sum_{j=1}^n(x_{jr} - x_{ji})^2 + \sum_{j=1}^n(y_{jr} - y_{ji})^2}{n}}
透视变换
- 讲一个平面上的点P(x,y),以投影中心O为基准,投影成另一个平面上的点P’(x,y)
- 可看作为三维物体向二维图像投影透视的特殊形式
- 相当于以人的眼睛为投影中心的投影,符合人们的视觉形象,富有较强的立体感和真实感
- 二维图像的透视变换函数及其齐次坐标表示:
⎧⎩⎨x′=ax+by+emx+ly+1y′=cx+dy+fmx+ly+1 ,,,\left[ x′y′1 \right] = T * \left[ xy1 \right],,T = \left[ acmbdlef1 \right] - 与前面关于齐次变换矩阵的描述类似,这里引入第三个子矩阵[m,,,l],实现图像的透视变换
- 对于这8个三叔,通过对特征点位置的计算从而得出参数
- 基本几何变换的特征
- 坐标空间的变化
- 范围发生变化
- 大小发生变化
- 像素值的变化
- 像素值不发生变化 — 位置改变
- 像素值发生变化 — 旋转,缩放,变形变换
- 离散几何变换的计算问题
- 空间坐标
- 向前映射法
- g(x’,y’) = f(a(x,y),b(x,y))
- 从原图像坐标计算出目标图像坐标,常用于镜像,平移变换
- 向后映射法
- g(a’(x,y),b’(x,y)) = f(x,y)
- 从结果图像的坐标计算出原图像坐标,常用于旋转,缩放,变形变换
- 复合变换 — 多种变换的计算
- 注意计算的顺序
- 将多级变换合并为一级变换(减小误差)
- 像素值计算 — 灰度插值(重采样)
- 最近邻插值法 — 选取最邻近点像素灰度值
- 特点
- 简单快速
- 灰度保真性好
- 误差较大
- 视觉特性较差(马赛克效应)
- 双线性插值(一阶插值)
- 四个点中,距离谁近谁的权重就大
- 实际计算中通常应用双曲抛物面方程进行简化 f(x,y) = ax + by + cxy + d
- 归一化坐标值 0>x>1,0>y>1
- 可有:f(x,y) = [f(1,0) - f(0,0)]x + [f(0,1) - f(0,0)]y \+ [f(1,1) + f(0,0) - f(0,1) - f(1,0)]xy + f(0,0)
- 特点
- 计算中较为充分考虑了相邻各点的特征,具有灰度平滑过渡的特点
- 一般情况下油满意的结果
- 具有低通滤波特性,使图像轮廓模糊
- 平滑作用使图像细节退化
- 高阶插值 — 利用周围更多的辅助点来确定某一点的值
- 特点
- 为满足二维Nyquist的条件,最佳重构公式的近似
- 只有图像满足特定的条件下,三次卷积插值算法才可获得最佳结果
- 可使待求点的灰度值更好的模拟实际可能值
- 可取的最好的视觉效果
- 三系卷积内插突出的优点是高频信息损失少,可将噪音平滑
- 4*4 时,像元均值和标准差信息损失小
- 计算量大为增加
- 图像处理中内插方法的选择
- 当纹理信息为主要信息时,最近邻采样将严重改变原图像的纹理信息
- 当灰度信息为主要信息时,双线性内插及三次卷积内插将减少图像异质性,增加图像同质性(灰度值趋同)
- 线性运算理论
如果f是一个线性运行,则 f(x_1+x_2,y) = f(x_1,y) + f(x_2,y)
但对 f(x,y) = ax + by + cxy + d
则有 f(x_1+x_2,y) = ax_1 + ax_2 + by + cx_1y + cx_2y + d
非几何变换 — 改变图像的像素值
- 定义:对于原图像f(x,y),灰度值变换函数T(f(x,y))唯一确定了非几何变换g(x,y) = T(f(x,y)),其中g(x,y)是目标图像
- 非几何变换属于像素值的变换,没有几何位置的改变 — 灰度变换
- 灰度变换的目的是改变画质,使图像的显示效果更加清晰
- 非几何变换的类型
- 对于彩色图像f(x,y),颜色值变换函数为T_r(f(x,y)),T_g(f(x,y),T_b(f(x,y) ⎧⎩⎨⎪⎪gr(x,y)=Tr(f(x,y))gg(x,y)=Tg(f(x,y))gb(x,y)=Tb(f(x,y))
- 离散非几何变换的计算
- 简单变换 — 像素值一一对应的映射
- 复杂变换 — 同时考虑相邻各点的像素值(常为模板运算)
- 模板运算
- 模板就是一个系数矩阵,模板的大小常为奇数 3x3,5x5等
- 模板系数:矩阵的元素 w1w4w7w2w5w8w3w6w9
- 对于某子图像 z1z4z7z2z5z8z3z6z9 , z_5的模板运算公式为R = w_1z_1 + w_2z_2 +…+ w_9z_9
- 灰度变换
- 对于输入图像f(x,y),灰度变换T将产生一个输出图像g(x,y),g(x,y)的每一个像素值,均取决于f(x,y)中对应点的像素值g(x,y) = T(f(x,y)). 又由于灰度值只有有限个,则可定义为R = T(r),其中R,r在0~255取值
- 图像求反
- 对比度拉升
- 对比度展宽(突出图像中关心的部分)
- 灰度窗 — 只显示指定灰度范围内的信息
- 灰度级切片 — 只保留感兴趣的部分,其余全部置零
- 灰度值修正 — 使图像中每一个关心的细节信息都变得清晰可见
- 线性动态范围调整 — 进行亮暗限幅
- 图像输入输出的Gamma失真 — 保证输入输出为线性关系
- Gamma失真:灰度的非均匀(非线性)变化
- 校正图像获取设备对于图像像素亮度相应的非线性
- 校正图像显示设备中输入信号与亮度显示之间的非线性关系
- 校正图像中不同像素值显示时的亮度感觉
- 依据:人的感知觉,心理量和物理量一般呈对数关系,越暗处对光亮的变化越敏感
基本概念 — 灰度直方图
- 直方图是用来表达一幅图像灰度级分布情况的统计表,横坐标为r(灰度),纵坐标为出现的次数或者频率
- 灰度出现的频率可以视为概率,则直方图就对应于概率密度函数p,而概率分布函数就是直方图的累积和. 即: p(r) = \frac{dP(r)}{dr} P(r) = \int_0^rp(r)dr
- 性质
- 所有的空间信息全部丢失
- 每一个灰度值对应的像素个数可以直接得到
- 任何一幅图像,都有唯一一个直方图,但任一直方图可以对应多幅图像
- 一个图像各子区的直方图之和等于该全图的直方图
- 用途
- 数字化参数 — 直方图给出了一个简单可见的指示,用于判断一副图像是否合理的利用了全部允许被利用的灰度空间.一盘一幅图像应该利用全部或全部可能的灰度级,否则等于增加了量化间隔.丢失的信息将不能恢复
- 边界阈值选取:假设某图像的灰度直方图具有二峰性,则表明这个图像的较亮的区域和较暗的区域可以被较好的分离,利用中点为阈值,可以很好地做二值处理.
- 灰度直方图反应了图像灰度分布情况,可以指导图片处理
- 集中在低端通常曝光太弱
- 集中在高端通常曝光太强
- 分布集中对比度较强
- 分布在整个灰度值空间对比度较弱
- 直方图变换的理论基础
- 对于[0,1]区间内任意r值,按照s = T(r)变换,同时满足 {对于0≤r≤1,有0≤s≤1在0≤r≤1区间内,T(r)为单值单调增加 第一个条件保证图像的灰度级从白到黑的次序不变,第二个条件保证了映射变换后的像素灰度值在允许的范围内
- s 到r 的反变换同样满足上述条件
- 变换后的图像灰度级的概率密度函数P_s(s) = (P_r(r)\frac{dr}{ds}|_{r = T^{-1}(s)}
- 直方图变换技术通过选择变换函数 T(r) ,是的目标图像的直方图具有期望的形状(已知期望形状,反推变换函数)
- 直方图变换的方法
- 直方图均衡 — 使得目标图像的直方图具有平直的直方图,从而改变整体图像整体偏亮或偏暗,灰度层次不丰富的情况,从而自动调节图像对比度质量
- 直观概念是对像素个数较多的灰度级进行展馆,对像素个数少的灰度级进行缩减
- 基本方法是通过灰度r的概率密度函数p(r_k),求出灰度变换函数T(r),建立等值像素出现的次数与结果图像像素值之间的关系.
- 连续/离散形式的直方图均衡化过程
- -
直方图变换
- 基本理论
- 直方图均衡
更多推荐
数字图像处理笔记02
发布评论