【原】数字图像处理学习之二亮度变换与空间滤波

函数

说明

例子

imadjust

亮度调整

imadjust(f) 提高对比度

stretchlim

获得图像对比度拉伸范围

原理呢?

 imhist(I,n) 

直方图,I为图像,n为灰度级数

 

subplotm n p 

m表示是图排成m行,n表示图排成n列, p是指你现在要把曲线画到figure中哪个图上 

 

histeq

直方图均衡化

 

imfilter

线性滤波器

 
a = imread('Fig0338(a)(blurry_moon).tif')
subplot(331)
imshow(a)
w = [0 1 0;1 -4 1;0 1 0]
b = imfilter(a, w)
subplot(332)
imshow(b)
c =a-b
subplot(333)
imshow(c)

w = [1 1 1;1 -8 1;1 1 1]
d = imfilter(a, w)
subplot(335)
imshow(d)
e =a-d
subplot(336)
imshow(e)

d = imfilter(a, w,'conv','replicate')
subplot(338)
imshow(d)
e =a-d
subplot(339)
imshow(e)

padarray

填充矩阵

 

colfilt

非线性滤波器

http://kernel.blog.51cto.com/920538/244284/ 

 
function mytest()
f = imread('Fig0335(a)(ckt_board_saltpep_prob_pt05).tif');
subplot(321);
imshow(f);
f = padarray(f, [3 3], 'replicate', 'both');

h = im2double(f)
g = colfilt(h, [3 3], 'sliding', @gmean);
subplot(322);
k = im2uint8(g)
imshow(k);

h = im2double(f)
g = colfilt(h, [3 3], 'sliding', @gmean2);
subplot(323);
k = im2uint8(g)
imshow(k);

h = im2double(f)
g = colfilt(h, [3 3], 'sliding', @gmean4);
subplot(324);
k = im2uint8(g)
imshow(k);

h = im2double(f)
g = colfilt(h, [3 3], 'sliding', @gmean3);
subplot(325);
k = im2uint8(g)
imshow(k);
end
function v = gmean(A)
mn = size(A, 1);
v =median(A, 1);
end
function v = gmean2(A)
mn = size(A, 1);
v =mean(A, 1);
end
function v = gmean3(A)
mn = size(A, 1);
v =min(A);
end
function v = gmean4(A)
mn = size(A, 1);
v =max(A);
end

fspecial

产生滤波器模板

 
function mytest_fspecial()
f=imread('Fig0338(a)(blurry_moon).tif');
subplot(321)
imshow(f)

w = fspecial('laplacian', 0);
g = imfilter(f, w, 'replicate');
subplot(323)
imshow(g)
h = f-g
subplot(324)
imshow(h)

w2 = fspecial('laplacian', 1);
g = imfilter(f, w2, 'replicate');
subplot(325)
imshow(g)
h = f-g
subplot(326)
imshow(h)

end

 

一、概念

对比度最高亮度/最低亮度

饱和度指的是色彩的纯度,纯度越高,表现越鲜明,纯度较低,表现则越暗淡。其数值为百分比介于0~100%之间,纯白色的饱和度为0,而纯彩色光的饱和度为100%。饱和度与所加白光的数量成反比。

噪声指的是图像中各种妨碍人们对其信息接收的因素。

相邻像素:

4邻域:像素p(x,y)4邻域是:(x+1,y)(x-1,y)(x,y+1)(x,y-1)

D邻域定义:像素p(x,y)D邻域是:对角上的点 (x+1,y+1)(x+1,y-1)(x-1,y+1)(x-1,y-1)

8邻域定义:像素p(x,y)8邻域是:4邻域的点 + D邻域的点

 

像素间的连通性:

对于具有值V的像素pq,如果q在集合N4(p)中,则称这两个像素是4连通的。

对于具有值V的像素pq,如果q在集合N8(p)中,则称这两个像素是8连通

对于具有值V的像素pq,如果:

I. q在集合N4(p)中,或

II. q在集合ND(p)中,并且N4(p)N4(q)的交集为空(没有值V的像素)则称这两个像素是m连通的,即4连通和D连通的混合连通。像素的连通性——m连通

 

通路的定义

一条从具有坐标(x,y)的像素p,到具有坐标(s,t)的像素q的通路,是具有坐标(x0,y0),(x1,y1),...,(xn,yn)的不同像素的序列。其中,(x0,y0) = (x,y)(xn,yn) = (s,t)(xi,yi) (xi-1,yi-1)是邻接的,≤ ≤ nn是路径的长度。如果(x0,y0) = (xn,yn) ,则该通路是闭合通路像素的连通性——通路

 

像素之间距离的定义

对于像素pqz,分别具有坐标(x,y)(s,t)(u,v),如果

(1) D(p,q) 0 (D(p,q)=0,当且仅当p =q),

(2) D(p,q)  =  D(q,p)

(3) D(p, z ) ≤ D( p , q) + D(q , z)

则称D是距离函数或度量

 

像素p(x,y)q(s,t)间的欧式距离定义如下:

对于这个距离计算法,具有与(x,y)距离小于等于某个值r的像素是:包含在以(x,y)为圆心,以r为半径的圆平面欧式距离定义

对于这个距离计算法,具有与(x,y)距离小于等于某个值r的像素是:包含在以(x,y)为圆心。以r为半径的圆平面

 

D4距离(城市距离)

像素p(x,y)q(s,t)之间的D4距离定义为:

D4(p,q) = |x – s| + |y  – t|

 

D8距离(棋盘距离)像素p(x,y)q(s,t)之间的D8距离定义为:

D8(p,q) = max(|x – s| ,|y – t|)

 

 

点运算——1反转变换,2对数变换

反转变换:

s = L-1-r

[0,L-1]为图像的灰度级。作用:黑的变白,白的变黑

对数变换:

 

c是常数,r≥ 0

有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失

解决办法是对原图进行灰度压缩,如对数变换

 

点运算——4对比度拉伸

点运算——5灰度级切片

点运算——6位平面切片

代数运算  加法:去除叠加性噪声

对于原图像f(x,y),有一个噪声图像集

{ gi(x,y) }    i =1,2,...N

其中:gi(x,y) = f(x,y) + h(x,y)i

假设噪声h(x,y) 均值为0,且互不相关

N个图像的均值定义为:

g(x,y) = (g0(x,y)+g1(x,y)+ + gN(x,y))/N

 

直方图

 

 

 

直方图均衡化

已知原图像的概率密度函数为 pr(r), r在区间[0, L-1]内。假设经过函数s = T(r)变换后的概率密度函数为ps(s)。直方图均衡化,即ps(s)=1/(L-1)

因为 :

pr(r)dr = ps(s)ds  变换后,面积不变。

所以

 

离散的情况:

 

应用:

镜头检测:

 

 

 

参考文献:C.W.Ngo,T.C.Pong,and R.T.Chin. Video Partitioning by Temporal Slice Coherency. IEEE Transactions on Circuits and Systems for Video Technology, Aug.2001.

 

空间域图像增强

空间滤波器

1) 平滑空间滤波器

2) 锐化空间滤波器

空间滤波和空间滤波器的定义:

使用空间模板进行的图像处理,被称为空间滤波。模板本身被称为空间滤波器。

平滑空间滤波器:

作用:

去除图像不重要的细节

减少噪声

1、线性滤波器:均值滤波器

2、非线性滤波器:

1)中值滤波器

2)最小值滤波器

3)最大值滤波器

 

锐化滤波器

锐化滤波器的主要用途

l 突出图像中的细节,增强被模糊了的细节

l 印刷中的细微层次强调。弥补扫描对图像的钝化

l 超声探测成像,分辨率低,边缘模糊,通过锐化来改善

l 图像识别中,分割前的边缘提取

l 锐化处理恢复过度钝化、暴光不足的图像

l 尖端武器的目标识别、定位

 

锐化滤波器的分类:

l 二阶微分滤波器-拉普拉斯算子

l 一阶微分滤波器-梯度算子

 

 

原文地址:https://www.cnblogs.com/irish/p/3143625.html