第7章图像灰度变换(1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

非零元素取一法
f
(x)

0, x 255,
1 x
1
Βιβλιοθήκη Baidu
clear; close all I=imread('lena.bmp'); subplot(131),imshow(I);title('灰度图像'); subplot(132),imhist(I);title('图像直方图'); J=find(I<1); I(J)=0; J=find(I>=1); I(J)=255; subplot(133),imshow(I);title('图像二值化(阈 值为1)');
2 一幅图像对应唯一的灰度直方图,反之不成立。不同的图像可对应相 同的直方图。
3 一幅图像分成多个区域,多个区域的直方图之和即为原图像的直方图。
MATLAB图像处理工具箱使用imhist函数显示一幅 图像的直方图,常用的调用方法如下:
imhist(I,n)
其中I为输入图像矩阵,n为指定灰度级,默认为 256。
[X,map]=imread('forest.tif'); I=ind2gray(X,map);%索引图像转化为灰度图像 J=imadjust(I,[0 1],[0 1],0.5);%gamma校正 figure, subplot(121),imshow(I); subplot(122),imshow(J)
指数变换
灰度变换函数为指数函数;其实现的效果是扩展高灰度区,
压缩低灰度区: g(x, y) c( f (x, y) a)b
其中a,b,c是按需要可以调整的参数;
2019年11月21日9时40分
作用:和对数变换的效果相反,指数变换使得高灰度范围 扩展,压缩低灰度范围,其一般表达式为
gm, n cf (m, n) b
双固定阈值法
0, x T1 f (x) 255, T1 x T 2
0, x T 2
(a) 0-255-0型灰度变换函数 (b) 255-0-255型灰度变换函数
clear; close all I=imread('lena.bmp'); subplot(121),imshow(I) title('灰度图像'); J=find(I<150|I>220); I(J)=0; J=find(I>=150&I<=220); I(J)=255; subplot(122),imshow(I) title('图像二值化');
I = imread('pout.tif'); subplot(121),imshow(I); subplot(122),imhist(I);
对于感兴趣的[a,b]区间,采用斜率大于1的线性变换来进行扩展, 而把其他区间用a或b来表示。变换函数是
(2)扩展感兴趣的,压缩其他
在扩展感兴趣的[a,b]区间的同时,为了保留其他区间的灰度层次, 也可以采用其它区间压缩的方法,既有扩有压,变换函数为
线性变换的应用
对比度线性展宽(拉伸)
1 什么是对比度线性展宽? 对比度线性展宽处理,就是图像灰度值的分布拉伸、展宽。
0 f (i, j) a
g
a f (i, j) b
255
b f (i, j) 255
(i 1,2,...,m; j 1,2,...,n)
a
b
255
f
特点:突出目标的 轮廓,消除背景细 节
特点:突出目 标的轮廓,保 留背景细节
其他灰度切分
(a)加亮[A,B]范围,其他
(a)
通过动态范围的压缩可以将所关心部分的灰 度级的变化范围扩大。
将原来[0,255]范围内的亮暗变化,压缩到[a,b] 范围内。再将[a,b]范围内的灰度值伸展到[0,255]。
0a 黑
g
b1
255


0
h(i, j) a
h* (i,
j)

255 b a
h(i,
j)

255a (b a)
第七章 图像灰度变换
1.二值化和阈值处理 2.灰度变换 3.灰度直方图变换
通常经输入系统获取的图像信息中含有各种各样 的噪声与畸变。例如
室外光照度不够均匀会造成图像灰度过于集中;
由CCD(摄像头)获得的图像经过A/D转换、线路传 送都会产生噪声污染等;
这些因素影响了系统图像的清晰程度,降低了图 像质量,因此,在对图像进行分析之前,必须要对图 像质量进行改善。
其中 c 和 为常数。 值的选择对于变换函数的特性有很
大影响。 应用范围,比较广泛,可代替对数变换和反对数变换。
7.3 灰度直方图变换
什么是灰度直方图?
灰度直方图是灰度级的函数,是对图像中灰 度级分布的统计,反映的是一幅图像中各灰度级 像素出现的频率。横坐标表示灰度级,纵坐标表 示图像中对应某灰度级所出现的像素个数,也可 以是某一灰度值的像素数占全图像素数的百分比, 即灰度级的频率。
线性变换关系
分段线性变换
应用目的:为了突出感兴趣目标所在的灰度区间,相 对抑制那些不感兴趣的灰度空间,可采用分段线性变换。 原理是进行像素点对点的,灰度级的影射。 设新、旧图的灰度级分别为g和f,要求g和f均在[0, 255]间变化,但是g的表现效果要优于f。
(1)扩展感兴趣的,牺牲其他
f (i, j)
0 f (i, j) a
g(i, j) ( f (i, j) a) ga a f (i, j) b (i 1,2,...,m; j 1,2,..., n)
( f (i, j) b) gb b f (i, j) 255 g
7.1二值化和阈值处理
一幅图像包括目标物体、背景还有噪声,怎样 从多值的数字图像中只取出目标物体,最常用的方 法就是设定某一阈值T,用T将图像的数据分成两 大部分:大于T的像素群和小于T的像素群。这是 研究灰度变换最特殊的方法,称为图像的二值化 (binarization)。二值化处理就是把图像f(x,y) 分成目标物体和背景两个领域。
有四舍五入
在MATLAB图像处理工具箱中,用于上述灰度 级变换的函数是imadjust,其调用格式如下:
J = imadjust(I)
将灰度图像I中的亮度值映射到J中的新值,这 增加了输出图像J的对比度值。
J=imadjust(I,[low_in;high_in],[low_out;high_o ut])
将图像I中的亮度值映射到J中的新值,其中 gamma指定描述值I和值J关系的曲线形状。如果 gamma小于1,此映射偏重更高数值(明亮)输出, 如果gamma大于1,此映射偏重更低数值(灰暗)输 出,如果省略此参数,默认为(线性映射)。
clear all; I=imread('pout.tif'); %读入原始图像 J=imadjust(I); %把I的范围拉伸到[0 1] K=imadjust(I,[0.3 0.7],[]);%局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(1,3,1);imshow(I);xlabel('原始图像'); subplot(1,3,2);imshow(J);xlabel('全局拉伸'); subplot(1,3,3);imshow(K);xlabel('分段拉伸');
灰度直方图计算示例
1 2 3 45 6 6 4 3 22 1 1 6 6 46 6 3 4 5 66 6 1 4 6 62 3 1 3 6 46 6
1 23456 5 4 5 6 2 14
灰度直方图
灰度直方图的性质
1 灰度直方图只能反映图像的灰度分布,而不能反映图像像素的位置, 即丢失了像素的位置信息。
h(i, j) (a,b)

255
h(i, j) b
a
f
b 255
13998 21373
36064
68205
黑:0
2
29260
白:9
7
作用:进行亮暗限幅
237 77 223 73 362 64 672 25 072 62
y=1.8*x-3.6
02 999 00 292 27 074 79 005 09 070
7.2灰度变换
为什么要灰度变换?
由于图像的亮度范围不足或非线性会使图像 的对比度不理想。采用图像灰度值变换方法,即 改变图像像素的灰度值,以改变图像灰度的动态 范围,增强图像的对比度。
2 灰度变换
设原图像(像素灰度值)为f(m,n),处理后图像(像 素灰度值)为g(m,n),则对比度增强可表示为:
2 为什么要进行对比度展宽? 之所以要进行对比度展宽,是因为有时获得的图像画面效
果不好,画面中期望观察的对象因对比度不足而不够清晰,因 此要通过对比度展宽的方法获得对画质的改善。 3 对比度线性展宽原理
实际就是图像灰度值的线性映射。进行像素点对点的,灰 度级的影射。
4 对比度线性展宽处理方法 按照下面的公式进行点对点的映射:
目标部分置为白(黑),而非目标部分置为黑(白)。 这样就把需要的目标突出显示出来了。 2 灰窗级切片有什么用?
在图像处理中,经常要对某个目标物的形状、边界、 截面面积以及体积进行测量,从而得到该目标物功能方 面的重要信息。如,医学中要对人体器官和组织进行精 确测量。
3 灰窗级切片实现原理? 分段线性灰度变换。表达式如下。
固定阈值法
0, x T f (x) 255, x T
clear;close all I=imread('lena.bmp'); subplot(121),imshow(I) title('灰度图像'); J=find(I<150); I(J)=0; J=find(I>=150); I(J)=255; subplot(122),imshow(I) title('图像二值化(阈值为150)');
(b)
灰度减小为一恒定值
(b)加亮[A,B]范围,其他
灰度级不变
(c)原图像
(d)使用(a)变换的结果
(c)
(d)
线性动态范围调整
动态范围:是指图像中从暗到亮的变化范围。 动态范围对人视觉的影响:
由于人眼所可以分辨的灰度的变化范围是有 限的,所以当动态范围太大时,很高的亮度值 把暗区的信号都掩盖了。 动态范围调整原理:
其中,T(.)表示增强图像和原图像的灰度变换函数
灰度变换分为线性变换 (正比或反比)和非线性 变换。非线性变换有对 数的(对数和反对数的), 幂次的(n次幂和n次方 根变换) 。 下面是一些灰度变换曲 线。
用于图像增强的某些基本灰度变换
线性变换
利用线性函数进行变换,线性变换一般关系式为:
令图像f(m,n)的灰度范围是【a,b】,线性变换后图像 g(m,n)的灰度范围为【c,d】,如下图
α ,β ,γ 是斜率, 其值是:
255 γ
gb
ga , gb ga , 255 gb
β
fa
fb fa
255 fb
图中看出α <1, γ <1,是对非重要 ga
景物的抑制
α
β >1,是对重要景物的对比度展宽
ab
255
f
灰窗级切片(灰度切割)
1 什么是灰窗级切片? 是指将所需检测的目标与画面中其他的部分分离开,
将图像I中的亮度值映射到J中的新值,即将low_in 至high_in之间的值映射到low_out至high_out之间的 值。low_in以下与high_in以上的值被剪切掉了,也就 是说,low_in以下的值映射到low_out,high_in以上 的值映射到high_out。
J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma)
35999 43585 58086 89407 49480
作用:将暗的部分扩展,而将亮的部分抑制。
I=imread('lena.bmp'); subplot(121),imshow(I); I=double(I); I2=42*log(1+I); I2=uint8(I2); subplot(122),imshow(I2);
对数变换
灰度变换函数为对数函数;其实现的效果是扩展低灰度区, 压缩高灰度区:
g(x, y) a b logc ( f (x, y) 1)
其中a,b,c是按需要可以调整的参数;
2019年11月21日9时40分
13998 21373 36064 68205 29260
g(i,j)=9*log(f(i,j)+1)
相关文档
最新文档