数字图象处理北京大学计算机研究所 陈晓鸥第二章 数字图像 处理 基础
2.1 图像运算
– 算术运算
– 逻辑运算
2.2 空域变换
– 几何变换
– 非几何变换
2.3 频域变换
– 傅立叶变换导言
– 傅立叶变换的特性
– 快速傅立叶变换第二章数字图象处理基础第一节 图象运算
2.1.1 算术运算
– 加法、减法
– 乘法、除法
2.1.2 逻辑运算
– 求反
– 异或、或
– 与第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
加法运算的定义
C(x,y) = A(x,y) + B(x,y)
主要应用举例
– 去除“叠加性”噪音
– 生成图象叠加效果第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
去除“叠加性”噪音对于原图象 f(x,y),有一个噪音 图象集
{ gi(x,y) } i =1,2,...M
其中,gi(x,y) = f(x,y) + h(x,y)i
M个图象的均值定义为:
g(x,y) = 1/M (g0(x,y)+g1(x,y)+… + gM(x,y))
当:噪音 h(x,y)i为互不相关,且均值为 0时,
上述图象均值将降低噪音的影响。
第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
生成图象叠加效果对于两个图象 f(x,y)和 h(x,y)的均值有:
g(x,y) = 1/2f(x,y) + 1/2h(x,y)
会得到二次暴光的效果 。 推广这个公式为:
g(x,y) = α f(x,y) + β h(x,y)
其中 α +β = 1
我们可以得到各种图象合成的效果,也可以用于两张图片的衔接第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
减法的定义
C(x,y) = A(x,y) - B(x,y)
主要应用举例
– 去除不需要的叠加性图案
– 检测同一场景两幅图象之间的变化
– 计算物体边界的梯度第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
去除不需要的叠加性图案设:背景图象 b(x,y),前景背景混合图象
f(x,y)
g(x,y) = f(x,y) – b(x,y)
g(x,y) 为去除了背景的图象 。
电视制作的蓝屏技术就基于此第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
检测同一场景两幅图象之间的变化设,时间 1的图象为 T1(x,y),
时间 2的图象为 T2(x,y)
g(x,y) = T2 (x,y) - T1(x,y)
= -
第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
计算物体边界的梯度在一个图象内,寻找边缘时,梯度幅度
( 描绘变化陡峭程度的量 ) 的近似计算
|Vf(x,y)| = max(f(x,y)–f(x+1,y),f(x,y)–f(x,y+1))
以后还会讲到第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算
乘法的定义
C(x,y) = A(x,y) * B(x,y)
主要应用举例
– 图象的局部显示用二值蒙板图象与原图象做乘法第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:算术运算第二章数字图象处理基础第一节图象运算
2.1.2 图象运算:逻辑运算
2.1.2 逻辑运算
– 求反
– 异或、或
– 与第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:逻辑运算
求反的定义
g(x,y) = 255 - f(x,y)
主要应用举例
– 获得一个阴图象
– 获得一个子图像的补图像
– 绘制区别于背景的、可恢复的图形第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:逻辑运算
获得一个阴图象第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:逻辑运算
获得一个子图像的补图像
255-
第二章数字图象处理基础第一节图象运算
=
2.1.1 图象运算:逻辑运算
绘制区别于背景的、可恢复的图形第二章数字图象处理基础第一节图象运算原图 求反画图 求反恢复原图
2.1.1 图象运算:逻辑运算
异或运算的定义
g(x,y) = f(x,y)? h(x,y)
主要应用举例
– 获得相交子图象
– 绘制区别于背景的、可恢复的图形第二章数字图象处理基础第一节图象运算
2.1.1 图象运算:逻辑运算
获得相交子图象第二章数字图象处理基础第一节图象运算
=
2.1.1 图象运算:逻辑运算
绘制区别于背景的、可恢复的图形第二章数字图象处理基础第一节图象运算原图 异或画图 异或恢复原图
2.1.1 图象运算:逻辑运算
或运算的定义
g(x,y) = f(x,y) v
h(x,y)
主要应用举例
– 合并子图像第二章数字图象处理基础第一节图象运算
=
2.1.1 图象运算:逻辑运算
与运算的定义
– g(x,y) = f(x,y)? h(x,y)
主要应用举例
– 求两个子图像的相交子图第二章数字图象处理基础第一节图象运算
=
第二节 空域变换
2.2.1 几何变换
– 基本变换
– 灰度级插值
2.2.2 非几何变换
– 模板运算
– 灰度级变换
– 直方图第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
基本几何变换的定义
常用的基本几何变换
– 平移变换
– 旋转变换
– 镜像变换:水平镜像、垂直镜像
– 放缩变换
– 拉伸变换
离散几何变换的计算第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
基本几何变换的定义对于原图象 f(x,y),坐标变换函数
x’ = a(x,y); y’ = b(x,y)
唯一确定了几何变换:
g(x’,y’) = f(a(x,y),b(x,y)); ( 1)
g(x,y)是目标图象 。
表面看没有值的改变 。
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
平移变换设,a(x,y) = x + x0; b(x,y) = y + y0;
用齐次矩阵表示:
a(x,y) 1 0 x0 x
b(x,y) = 0 1 y0 y
1 0 0 1 1
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
旋转变换,绕原点旋转?度设,a(x,y) = x * cos(?) - y * sin(?);
b(x,y) = x * sin(?) + y * cos(?);
用齐次矩阵表示:
a(x,y) cos(?) 0 x0 x
b(x,y) = sin(?) 1 y0 y
1 0 0 1
1
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
0,0 x
y
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
水平镜像设,a(x,y) = -x; b(x,y) = y;
用齐次矩阵表示:
a(x,y) -1 0 0 x
b(x,y) = 0 1 0 y
1 0 0 1 1
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
0,0 x
y
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
垂直镜像设,a(x,y) = x; b(x,y) = -y;
用齐次矩阵表示:
a(x,y) 1 0 0 x
b(x,y) = 0 -1 0 y
1 0 0 1 1
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
0,0 x
y
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
放缩变换,
x方向放缩 c倍,y方向放缩 d倍设,a(x,y) = x*c; b(x,y) = y*d;
用齐次矩阵表示:
a(x,y) c 0 0 x
b(x,y) = 0 d 0 y
1 0 0 1 1
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
拉伸变换
F
D
C
BA
F
D
C
A B
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
离散几何变换的计算问题
向前映射法
向后映射法第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
离散几何变换的计算问题
– 旋转、放缩、拉伸变换的漏点问题第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
向前映射计算法
g(x’,y’) = f(a(x,y),
b(x,y));
– 从原图象坐标计算出目标图象坐标
– 镜像、平移变换使用这种计算方法第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,基本变换
向后映射计算法
g(a’(x,y),b’(x,y)) = f(x,y);
– 从结果图象的坐标计算原图象的坐标
– 旋转、拉伸、放缩可以使用
– 解决了漏点的问题,出现了马赛克第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,灰度级插值
灰度级插值
– 最邻近插值法
– 双线性插值(一阶插值)
– 高阶插值第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,灰度级插值
最邻近插值法
– 就是最临近点重复第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,灰度级插值
双线性插值(一阶插值)
已知正方形的 4个顶点,求正方形内部的点,有双线性方程,f(x,y) = ax + by + cxy + d
设 4个顶点的坐标为:
(x0,y0),(x1,y0),(x0,y1),(x1,y1)
f(x,y0) = f(x0,y0)+x[f(x1,y0)–f(x0,y0)] /
(x1–x0)
f(x,y1) = f(x0,y1)+x[f(x1,y1)–f(x0,y1)] /
(x1–x0)
……,
f(x,y) = f(x,y0) + y[f(x,y1) – f(x,y0)] /
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,灰度级插值
双线性插值(一阶插值)
第二章数字图象处理基础第二节空域变换
2.2.1 几何变换,灰度级插值
高阶插值
– 双线性插值的缺陷
平滑作用使图象细节退化,尤其在放大时
不连续性会产生不希望的结果
– 高阶插值的实现
用三次样条插值
常用卷积来实现
将大大增加计算量第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换
2.2.2 非几何变换
– 非几何变换的定义
– 模板运算
– 灰度级变换
– 直方图第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换:非几何变换的定义
非几何变换的定义对于原图象 f(x,y),灰度值变换函数
T(f(x,y))
唯一确定了非几何变换:
g(x,y) = T(f(x,y)) ( 2)
g(x,y)是目标图象没有几何位置的改变。
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换:非几何变换的定义
非几何变换的定义对于彩色原图象 f(x,y),颜色值变换函数
Tr(f(x,y)); Tg(f(x,y)); Tb(f(x,y));
唯一确定了非几何变换:
gr(x,y) = Tr(f(x,y))
gg(x,y) = Tg(f(x,y))
gb(x,y) = Tb(f(x,y))
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,模板运算
模板运算
– 模板的定义
模板大小
模板系数
– 模板运算的定义
– 模板运算举例:均值变换第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,模板运算
模板的定义
– 所谓模板就是一个系数矩阵
– 模板大小:经常是奇数,如:
3x3 5x5 7x7
– 模板系数,矩阵的元素
w1 w2 w3
w4 w5 w6
w7 w8 w9
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,模板运算
模板运算的定义对于某图象的子图像:
z1 z2 z3
z4 z5 z6
z7 z8 z9
z5的模板运算公式为:
R = w1z1 + w2z2 +,.,+ w9z9
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,模板运算
模板运算举例:均值变换
– 模板系数,wi = 1/9
– 计算公式:
R = 1/9(w1z1 + w2z2 +,.,+ w9z9)
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换
– 灰度级变换的定义
– 灰度级变换的实现
– 灰度级变换举例
图象求反
对比度拉伸
动态范围压缩
灰度级切片第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换(点运算)的定义 (1)
– 对于输入图象 f(x,y),灰度级变换 T将产生一个输出图像 g(x,y),且 g(x,y)的每一个像素值,都是由 f(x,y)的对应输入像素点的值决定的。
g(x,y) = T(f(x,y))
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换:非几何变换的定义
灰度级变换(点运算)的定义 (2)
对于原图象 f(x,y),灰度值变换函数
T(f(x,y))
由于灰度值总是有限个如,0-255
非几何变换可定义为,
R = T(r)
其中 R,r在 0-255之间取值第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换:非几何变换的定义
灰度级变换(点运算)的实现
R = T(r) 定义了输入像素值与输出像素之间的映射关系,通常通过查表来实现。
因此灰度级变换也被称为 LUT( Look Up
Table) 变换。
0 1 2 3 4 5 6 7 8 9 … … 250 251 252 253 254 255
0 3 5 7 9 11 13 15 17 19 … … 252 253 254 254 254 255
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换举例
– 图象求反
0 255
255
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换举例
– 对比度拉伸第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换举例
– 动态范围压缩
0
255
255
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,灰度级变换
灰度级变换举例
– 灰度级切片
0
255
255
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
直方图
– 图象直方图的定义
– 直方图应用举例
直方图均衡化
直方图匹配第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
图象直方图的定义( 1)
一个灰度级别在范围 [0,L-1]的数字图象的直方图是一个离散函数
p(rk)= nk/n
n 是图象的像素总数
nk是图象中第 k个灰度级的像素总数
rk 是第 k个灰度级,k = 0,1,2,…,L-1
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
图象直方图的定义举例
p(rk)
Nk
第二章数字图象处理基础第二节空域变换
0.1
0.2
0.3
0.4
31157 23
2.2.2 非几何变换,直方图
图象直方图的定义( 2)
一个灰度级别在范围 [0,L-1]的数字图象的直方图是一个离散函数
p(rk)= nk k = 0,1,2,…,L-1
由于 rk的增量是 1,直方图可表示为:
p(k)= nk
即,图象中不同灰度级像素出现的次数第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
两种图象直方图定义的比较
p(rk)= nk
p(rk)= nk/n
– 使函数值正则化到 [0,1]区间,成为实数函数
– 函数值的范围与象素的总数无关
– 给出灰度级 rk在图象中出现的概率密度统计第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
较暗图象的直方图
p(rk)
nk
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
较亮图象的直方图
p(rk)
nk
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
对比度较低图象的直方图
p(rk)
nk
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
对比度较高图象的直方图
p(rk)
nk
第二章数字图象处理基础第二节空域变换
2.2.2 非几何变换,直方图
直方图应用举例 ——直方图均衡化
– 一种自动调节图象对比度质量的算法
– 使用的方法是灰度级变换,s = T(r)
– 基本思想是通过灰度级 r的概率密度函数
p(rk ),求出灰度级变换 T(r),建立等值像素出现的次数与结果图象像素值之间的关系。
第二章数字图象处理基础第二节空域变换请提问第二章数字图象处理基础第二节空域变换