- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13 计算机科学与工程系
数字图像处理
3.3 直方图处理与函数绘图
3.3.2 直方图均衡化
sk T (r k )
k k
pr (rj )
j 1
nj n
j 1
函数histeq: histeq(f, nlev) 例3.5 直方图均衡化
3.3.2 直方图匹配
生成具有指定直方图的图像的方法称为直方图匹配。 函数histeq: imhist(f, hspec) 例3.6 直方图匹配
数字图像处理
5
计算机科学与工程系
3.1 背景知识
空间域技术
空间滤波: 利用(x, y)的一个小邻域(如3×3邻域, 称为模板),
对T 进行操作. 此时, 处理后图像在某点(x0, y0)的像素值g(x0, y0)不仅与原 始图像在点(x0, y0)的像素值f(x0, y0)有直接关系, 与原始图 像在点(x0, y0)附近其他点的像素值也有直接关系. 如下式
数字图像处理
15
计算机科学与工程系
y
滤波器 掩模 滤波掩模 核, 模板 窗口 图像f (x, y) x
w(-1,-1)
w(-1,0)w(-1,1)来自w(0,-1)w(0,0)
w(0,1)
w(1,-1)
w(1,0)
w(1,1)
f(x-1,y-1) f(x-1,y) f(x-1,y+1)
f(x,y-1)
直方图方法: 利用图像亮度值的统计信息进行处理.
数字图像处理
6
计算机科学与工程系
3.2 亮度变换函数
一些基本灰度变换
数字图像处理
7
计算机科学与工程系
3.2 亮度变换函数
一些基本灰度变换
图像反转 对灰度范围为[0, L-1]的图像,表达式为 s=L-1-r 对数变换 s=clog(1 + r)
数字图像处理
19
计算机科学与工程系
3.4 空间滤波
函数colfilt
g=colfilt( f, [m, n], block_type, @fun, parameters) block_type: ‘sliding’ 表示处理过程是在输入图像中逐个像素地滑动该 m*n区域. ‘distinct’ 表示处理过程是在输入图像中互不相交的m*n 块进行. @fun引用一个函数, 符号@称为函数句柄, 它是MATLAB数 据类型. 函数fun必须分别对矩阵的每一列进行操作. parameters表示函数fun可能需要的参数.
f(x,y)
f(x,y+1)
f(x+1,y-1) f(x+1,y) f(x+1,y+1)
数字图像处理
16
计算机科学与工程系
3.4 空间滤波
3.4.1 线性空间滤波 工具箱中实现线性滤波的函数imfilter g=imfilter(f, w, filtering_mode, boundary_options, size_options) filtering_mode: ‘corr’ (默认值), ‘conv’ boundary_options: P(默认值为0), ‘replicate’, ‘symmetric’, ‘circular’ size_options: ‘full’, ‘same’ (默认值) 例3.7 使用函数imfilter
数字图像处理
11
计算机科学与工程系
3.3 直方图处理与函数绘图
3.3.1 生成并绘制图像的直方图
直方图: h(rk) = nk 归一化直方图: p(rk) = h(rk) / n =nk / n 函数imhist: imhist(f, b) 函数plot: plot(horz, v, ‘color_linestyle_mark’) 例3.4 计算并绘制图像的直方图 函数bar: axis, set, xlabel, ylabel, text, title, xlim, ylim 函数stem
3.1 背景知识
空间域技术 空间域技术直接对图像的像素进行处理. 空间域处理可定义为 g(x, y) = T [ f(x, y) ] 其中, f(x, y)为输入图像, g(x, y)为输出图像(处理后), T 是 对图像 f 进行处理的操作符. 亮度变换: 变换T 对单点操作 处理后图像在点(x0, y0)的像素值g(x0, y0)只与原始图像在 点(x0, y0)的像素值f(x0, y0)有直接关系, 与原始图像在其他 点的像素值无关. 如g(x0, y0)=a f (x0, y0)2+b f (x0, y0)+c 亮度变换可写成: s=T[r] 其中r为f(x, y)的亮度值, s为g(x, y)的亮度值
数字图像处理
21
计算机科学与工程系
3.5 图像处理工具箱的标准空间滤波器
3.5.1 线性空间滤波器 用于生成滤波掩模w的函数fspecial的语法
w=fspecial(‘type’, parameters)
表3.4列出函数fspecail支持的空间滤波器类型及参数 例3.9 使用函数 例3.10 手工指定滤波器和增强技术的比较
幂次变换
s=cr
对比拉伸
s=T(r)=
1 1 + (m/r)E
8 计算机科学与工程系
数字图像处理
3.2 亮度变换函数
3.2.1 函数imadjust
语法 g = imadjust(f, [low_in, high_in], [low_out, high_out], gamma) 说明 low_in, high_in low_out, high_out gamma 例3.1 使用函数imadjust
g ( x 0 , y 0 ) [ f ( x 0 1, y 0 1 ) f ( x 0 1, y 0 ) f ( x 0 1, y 0 1 ) f ( x 0 , y 0 1) f ( x 0 , y 0 ) f ( x 0 , y 0 1) f ( x 0 1, y 0 1) f ( x 0 1, y 0 ) f ( x 0 1, y 0 1)] / 9
数字图像处理
9
计算机科学与工程系
3.2 亮度变换函数
3.2.2 对数和对比度拉伸变换
对数变换
S = T(r) = clog(1 + r) 例3.2 使用对数变换减少动态范围
对比拉伸 s = T(r) =
1 1 + (m/r)E
g=1./(1 + (m./(double(f) +eps)).^E)
数字图像处理
第三章 亮度变换与空间滤波
计算机科学与工程系
本章主要内容
图像增强的方法分两大类:
空间域方法 频域方法 本章主要讨论空间域图像增强的方法及其 MATLAB实现; 空间域图像增强方法 亮度变换 直方图处理 空间滤波(邻域处理或空间卷积)
数字图像处理
2
计算机科学与工程系
数字图像处理
22
计算机科学与工程系
表3.4列出函数fspecail支持的空间滤波器类型及参数 类型
‘disk’
函数与参数
fspecial(‘disk’, r) 半径为r的圆形平均值滤波器(r=5)
‘average’ fspecial(‘average’, [r, c]) 大小为r×c矩形平均值滤波器(3×3) ‘guassian’ fspecial(‘guassian’, [r, c], sig) 为r×c高斯低通滤波器(3×3, 0.5) ‘laplacian’ fspecial(‘laplacian’, alpha) 为3×3拉普拉斯滤波器([0 1], 0.5)
数字图像处理
17
计算机科学与工程系
3.4 空间滤波
3.4.2 非线性空间滤波
非线性滤波也是基于邻域操作的, 通过定义一个m*n的邻,
以其中心点滑过一幅图像的方式进行操作.
线性空间滤波基于计算乘积之和(一个线性表达式)
非线性空间滤波则基于非线性操作(非线性表达式)
工具箱提供两个执行常规非线性滤波的函数: 函数nlfilter和函数colfilt 函数nlfilter直接执行二维操作 函数colfilt以列的形式组织数据 函数colfilt占用更多的内在, 但执行比函数nlfilter
3.1 背景知识
空间域技术 空间域技术直接对图像的像素进行处理.
数字图像处理
3
计算机科学与工程系
3.1 背景知识
点的邻域
定义一个点(x, y)的邻域 的主要方法是利用中心 在(x, y)点的正方形或矩 形子图像 如1×1邻域, 3×3邻域, 5×5邻域
数字图像处理
4
计算机科学与工程系
数字图像处理
14
计算机科学与工程系
3.4 空间滤波
空间滤波(邻域处理) (1) 定义中心点(x, y); (2) 对预先定义的以(x, y)为中心点的邻域内的像素进行运算; (3) 令运算结果为该点处处理的响应; (4) 对图像中的每个点重复(1)(3)步骤. 空间滤波的分类: 线性空间滤波, 对邻域中像素的计算为线性运算. 如均值 滤波等. 非线性空间滤波,对邻域中像素的计算为非线性运算.如 统计排序滤波等
数字图像处理
12
计算机科学与工程系
3.3 直方图处理与函数绘图
函数plot: plot(horz, v, ‘color_linestyle_mark’) 函数bar:bar(horz, v, width) 函数stem:stem((horz, v) 函数axis: axis([horzmin horzmax vertmin vertmax]) 函数xlabel: xlabel(‘textstring’, ‘fontsize’, size) 函数ylabel: ylabel(‘textstring’, ‘fontsize’, size) 函数text: text(xloc, yloc, ‘textstring’, ‘fontsize’, size) 函数title: title(‘titlestring’) 函数set: set(gca, 'xtick', 0:50:255) 函数set: set(gca, 'ytick', 0:50:255) 函数ylim(‘auto’), ylim([ymin, ymax]) 函数xlim(‘auto’), xlim([xmin, xmax])