2016-02-24 21:04:01 jly58fgjk 阅读数 2915

学习了数字图像图像处理一段时间,下面是我对预处理方面的一些总结。

首先,了解了预处理对数字图像有什么影响?

预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性和最大限度地简化数据,从而改进特征抽取、图像分割、匹配和识别的可靠性。预处理过程一般有数字化、几何变换、归一化、平滑、复原和增强等步骤。下面是我对图像增强的总结。

图像增强有很多种方法,针对不同图像要采取不同的方法,直方图均衡化、对比度拉伸是常用到的方法,使灰度图像颜色更加分明,针对含有噪声的图像。可以采用滤波,包含平滑滤波和锐化滤波。

一、直方图处理

1、直方图均衡化

直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。

它的基本思想是对图像中像素个数多的灰度级进行展宽,而对图像中像素个数少的灰度进行压缩,从而扩展像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。直方图均衡化是一种对图像的非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

       函数:histeq

实现代码如下:I=imread('2.jpg');
                               I=rgb2gray(I);
                             %K=16; 
                            %H=histeq(I,K); 
                            H=histeq(I);

                    figure,,imshow(H); 

2、对比度拉伸   

函数:imadjust

代码例如:

I=imadjust(I2,stretchlim(I2),[0,1]);

二、滤波法

均值滤波

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。

模板有3*3、5*5、7*7三种。

实现代码如下:

clc;clear;close all;
img=rgb2gray(imread('lena1.jpg'));
figure;imshow(img);  
img_noise=double(imnoise(img,'gaussian',0.006));%添加高斯噪声 
figure,imshow(img_noise,[]); 
img_mean=imfilter(img_noise,fspecial('average',3)); %均值模板3*3
figure;imshow(img_mean,[]);title('de-noise by mean filter');
imag_mean=exp(imfilter(log(img_noise),fspecial('average',5)));%模板5*5 
figure;imshow(img_mean,[]),title('de-noise by mean filter');
Q=-1.5;  
img_mean=imfilter(img_noise.^(Q+1),fspecial('average',3))./imfilter(img_noise.^Q,fspecial('average',3)); 
figure;imshow(img_mean,[]);title('de-noise by mean filter'); 
Q=1.5;  img_mean=imfilter(img_noise.^(Q+1),fspecial('average',3))./imfilter(img_noise.^Q,fspecial('average',3)); 
figure;imshow(img_mean,[]);title('de-noise by mean filter');

中值滤波

中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为3*3,5*5区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。

实现代码如下:

img_median=medfilt2(img_noise);%中值滤波 
      figure;imshow(img_median,[]);title('de-noise by median filter')%中值滤波结果; 
     img_median2=medfilt2(img_midian); 
     figure;imshow(img_median2,[]);title('de-noise by median filter');

上述两种为平滑滤波

锐化滤波

  锐化用于补偿和增加图像的高频成分,使图像中的地物边界、区域边缘、线条、纹理特征和精细结构特征等更加清晰、鲜明。

利用算子prewitt、sobert、拉普拉斯算子实现

clc;clear;close all;
I=imread('lena.jpg');
%I=rgb2gray(I); 
subplot(221),imshow(I); title('原图');
hs=fspecial('sobel');
S=imfilter(I,hs);
hp=fspecial('prewitt'); 
P=imfilter(I,hs); 
A=double(I);%双精度型  
H=[0 1 0,1 -4 1,0 1 0];%拉普拉斯算子 
J=conv2(I,H,'same'); 
K=I-J;  
subplot(222),imshow(J); title('拉普拉斯锐化图像');
subplot(223),imshow(S); title('sobel算子锐化图像');
subplot(224),imshow(P); title('prewitt算子锐化图像');


低通滤波(平滑)

下面为巴特沃斯低通滤波的实现代码:

clc;clear;close all;
I=imread('lena1.jpg');
I=rgb2gray(I);
figure,imshow(I);
I1=fftshift(fft2(I));
[M,N]=size(I1);
n=2;d0=30;
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
    for j=1:N
        d=sqrt((i-n1)^2+(j-n2)^2);
        H=1/(1+(d/d0)^(2*n));
        I2(i,j)=H*I1(i,j);
    end
end
I2=ifftshift(I2);
I3=real(ifft2(I2));
figure,imshow(I3,[]);

高通滤波(锐化)

下面代码为巴特沃斯高通滤波的实现代码:

clc;clear;close all;
f1=imread('lena1.jpg');
f1=rgb2gray(f1);
F= double(f1);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算  
G = fft2(F);        % 傅立叶变换   
G = fftshift(G);     % 转换数据矩阵  
[M,N]=size(G);    
nn = 2;           % 二阶巴特沃斯(Butterworth)高通滤波器  
d0 = 5;  
m = fix(M/2);  
n = fix(N/2);  
for i = 1 : M       
    for j = 1 : N     
        d = sqrt((i-m)^2+(j-n)^2);   
        if (d == 0)      
             h = 0;   
        else
            h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数   
        end;      
        result(i,j) = h * G(i,j);     
    end;  
end; 
result = ifftshift(result);   
J2= ifft2(result); 
J3= uint8(real(J2));
subplot(121);imshow(f1); title('灰色图像'); 
subplot(122);imshow(J3);  % 滤波后图像显示
title('滤波后的图像');

高斯滤波

部分代码:

%gaussian低通滤波
H=fspecial('gaussian',7,3);
F{2}=double(filter2(H,I));
figure,imshow(F{2},[]);


滤波部分实现代码网址

http://wenku.baidu.com/link?url=3U5MZxgxbursdIBYSVden1i8rxSxFlBaf_glnibz8Me2hG6vADZz5419XQIRlc5OrpGM8uibQI_siBwoiFvaDVPM1ewwgRV48voh7sgIoIi

http://wenku.baidu.com/link?url=esi3wmkrucc4k3lbHFtSGL2OWFMjZwz_hoB_aQQh6GiXDwxni9GFnMGhJVOWgBa6Ulm3Vf1qB0auBjKRyCY_EBKPpgMZphXeovcTRG1WyHK


 

2018-07-11 13:30:59 zhu_hongji 阅读数 23150

    虽然随着工业相机设备技术的发展,各种型号的工业相机层出不穷。相机的分辨率、曝光时间等性能都有了极大改善。但,工业环境复杂,导致常常得到的目标图像并不是非常理想。我们还需要利用图像增强技术,对图像进行进一步处理,以得到更好的特征和视觉效果。

图像增强:

    一般的图像增强方法根据增强处理过程所在的空间不同,可分为基于空域和频域的方法。基于空域的方法直接对图像进行处理;基于频域的方法是在图像的某种变换域内对图像的变换系数进行修正,然后再反变换到原来的空域,得到增强的图像。

    主要目的:一、是为了改善图像的视觉效果,提高图像的清晰度;

                    二、是针对给定图像的应用场合,突出某些感兴趣的特征,抑制不感兴趣的特征,以扩大图像中不同物体特征之间的差别,满足某些特殊分析的需要。

基于空间域的图像增强:直接作用于图像像素的增强方法。

1、灰度变换增强

    灰度变换主要针对独立的像素点进行处理,由输入像素点的灰度值决定相应的输出像素点的灰度值,通过改变原始图像数据所占的灰度范围而使图像在视觉上得到改善。

1.1 线性灰度增强

    线性灰度增强,将图像中所有点的灰度按照线性灰度变换函数进行变换。在曝光不足或过度的情况下,图像的灰度可能局限在一个很小的灰度范围内,这时图像可能会很模糊不清。利用一个线性单值函数对图像内的每一个像素做线性拓展,将会有效地改善图像的视觉效果。

    基本原理:假设一幅图像f(x,y)变换前的的灰度范围是[a, b],希望变换后g(x,y)灰度范围拓展或者压缩至[c, d],则灰度线性变换函数表达式为:

 

                                 

    通过调整a,b,c,d,的值可以控制线性变换函数的斜率,从而达到灰度范围的拓展或压缩。

1.2 分段线性灰度增强

    分段线性灰度增强可将需要的图像细节灰度级扩展,增强对比度,将不需要的图像细节灰度级压缩。

    基本原理:假设输入图像f(x,y)的灰度为0~M级,增强后图像g(x,y)的灰度级0~N级,区间[a,  b]、[c,d]分别为源图像和增强图像的某一灰度区间。分段线性变换函数为:

                                

    a,b,c,d取不同的值时,可得到不同的效果。

(1)若a=c,b=d,灰度变换函数为一条斜率为1的直线,增强图像与源图像相同;

(2)若a>c,b<d,源图像中灰度值在区间[0,a]与[b,M]中的动态范围减小,而源图像在区间[a,b]间的动态范围增加,从而增强中间范围的对比度。

(3)若a<c,b>d, 则源图像在区间[0,a]与[b,M]的动态范围增加,而源图像在区间[a,b]间的动态范围减小。

由此可见,通过调整a,b,c,d,可以控制分段的斜率,从而对任意灰度区间进行拓展或者压缩。

1.3 非线性灰度增强

    显而易见,当用非线性函数对图像灰度进行映射时,可以实现图像的非线性灰度增强。

    基本原理:常用的非线性灰度增强方法有对数函数非线性变换和指数函数非线性变换。

(1)对数函数非线性变换

    对图像做对数非线性变换时,变换函数为:

                                                     

    通过调整a,b,c,可以调整曲线的位置与形状。利用此变换,可以使输入图像的低灰度范围得到扩展,高灰度范围得到压缩,以使图像分布均匀。

(2)指数函数非线性变换

    对图像做指数函数非线性变换时,变换函数为:

                                              

    通过调整a,b,c,可以调整曲线的位置与形状。利用此变换,可以使输入图像的低灰度范围得到扩展,高灰度范围得到压缩,以使图像分布均匀。

2、直方图增强

    图像直方图描述了一幅图像的灰度级分布情况,我们从图像的灰度级的分布形态可以提供图像信息的很多特征。因此,我们通过改变图像的直方图的形态也就是改变图像的对比度了。常用的方法有直方图均衡化和直方图规定化。

    在进行直方图相关操作之前,我们肯定得知道直方图长什么样,也就是直方图统计。从数学上理解,图像直方图实际就是图像各灰度值统计特性与图像灰度值之间的函数关系,它统计的是一幅图像中各个灰度级出现的次数或者概率。从图形上说,它是一个二维图,用横坐标表示各个像素点的灰度级r;纵坐标表示对应灰度级的像素个数或者概率:

                                

算法实现步骤:

    (1)获取源图像的宽和高;

    (2)逐行扫描图像的像素点,并进行灰度统计;

    (3)计算各个灰度级的概率密度。

2.1 直方图均衡化    

2.2 直方图规定化

3、图像平滑   

3.1 线性滤波(Linear filter

3.1.1 均值滤波(Simplebluring

均值滤波实际上就是用均值替代原图像中的各个像素值。

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来(目标核的)像素值。对噪声图像特别是有大的孤立点的图像非常敏感,即使有极少数量点存在较大差异也会导致平均值的明显波动。

原理分析:K为模板)

                                

 处理后的目标点像素值 , M=Kw*kh

OpencvAPI介绍:(一般模板选择3*35*5的)

blur(Matsrc, Mat dst, Size(xradius, yradius), Point(-1,-1));

//括号内依次含义:原图;处理图;size表内核的大小,Size3,3)就表示3x3的核大小;Point类型的anchor,表示锚点(即被平滑的那个点),

                         

插曲:

空间滤波技术分类

      一、根据空间滤波增强目的可分为:平滑滤波和锐化滤波;

         二、根据空间滤波的特点可分为:线性滤波和非线性滤波。

(1)平滑滤波,能减弱或消除图像中的高频分量,但不影响低频分量。因为高频分量对应图像中的区域边缘等灰度值具有较大、较快变化的部分,平滑滤波将这些分量绿区可减少局部灰度的起伏,使图像变得比较平滑。实际应用中,平滑滤波即可以用来消除噪声,又可以用在提取较大的目标前过滤去除较小的细节或将目标内的小间断连接起来。

(2)锐化滤波,能减弱或消除图像中的低频分量,但不影响高频分量。因为低频分量对应图像中灰度值缓慢变化的区域,因而与图像的整体特性如整体对比度和平均灰度值等有关。锐化滤波将这些分量滤去可使图像反差增加,边缘明显。实际应用中,锐化滤波可用于增强图像中被模糊的细节或景物的边缘。

实验结果

(原图含有椒盐噪声)                                (均值滤波效果图)

 

 

分析:因为椒盐的幅值基本都是相同的,只是出现噪声点的位置是随机的,所以在统计意义下的噪声均值也不为0,因此,即使在理想情况下也无法完全去除。但从模板的含义来理解,经过均值滤波处理后,噪声部分被弱化到周围的像素点上,所以结果图上,噪声幅值减小但噪声点的颗粒面积同时变大。

缺点(shortcoming):在降低噪声的同时使图像变得模糊,特别是在景物的边缘和细节处,模板越大,虽然噪声的抑制效果越好,但同时画面的模糊越严重。

 

3.1.2高斯滤波(Gaussianbluring)(低通滤波器)

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。进行高斯滤波的通常原因是真实图像在空间内的像素是缓慢变化的,因此临近点的像素变化不会很明显,但是随机的两个点就可能形成很大的像素差。正是基于这一点,高斯滤波在保留信号的条件下减少噪声。遗憾的是,这种方法在接近边缘处就无效了,因此高斯滤波会破平边缘。但是,高斯平滑滤波器对于抑制服从正态分布的噪声仍然是非常有效的。

 

高斯函数

                                

 

二维高斯:

                                

 

Opencv里面API介绍:

 GaussianBlur(Matsrc, Mat dst, Size(11, 11), sigmax, sigmay);其中Size(x, y), x, y 必须是正数而且是奇数

//GaussianBlur(const Mat& src, Mat& dst, Sizex,y,double sigmaX, double sigmaY=0,intborderType=BORDER_DEFAULT (一般默认));

//srcdst当然分别是输入图像和输出图像;size为高斯滤波器模板大小;sigmaXsigmaY分别为高斯滤波在横线和竖向的滤波系数;borderType为边缘点插值类型。

实验结果:

(含有高斯噪声)                                     (高斯滤波效果图)

      

(含有椒盐噪声)                                (高斯滤波效果图)

        

 

分析:高斯滤波对于椒盐噪声和高斯噪声都有明显的抑制作用,但高斯滤波对于椒盐噪声的抑制效果更好。一般在不知道噪声类型的情况下都选择高斯滤波。

3.2非线性滤波(Nonlinear filtering)

3.2.1中值滤波(Medianbluring)

中值滤波法是一种基于排序统计理论的一种能有效抑制噪声的非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值,也就是将中心像素的值用所有像素值的中间值(不是平均值)替换。中值滤波通过选择中间值避免图像孤立噪声点的影响,对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。这些优良特性是线性滤波方法所不具有的。此外,中值滤波的算法比较简单,也易于用硬件实现。所以,中值滤波方法一经提出后,便在数字信号处理领得到重要的应用。

    原理:

                             

    其中,f(x,y),g(x,y)分别为原图像和处理后的图像,W为模板,通常为3*3、5*5区域,也可以有不同的形状,如线形、圆形、十字形、圆环形等。

Opencv里面API介绍:

medianBlur(Matsrc, Mat dest, ksize)

//srcdst当然分别是输入图像和输出图像。ksize为均值滤波器模板大小

实验结果:

含有椒盐噪声)                                       (中值滤波效果图)

        

含有高斯噪声)                                      (中值滤波效果图

      

 

分析:结果图显示知,中值滤波对于噪声具有抑制作用,而且对于椒盐噪声,中值滤波具有很好的降噪性。但会损失一定的图像清晰度。 

3.2.2双边滤波(BilateralFiltering)

双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波能够提供一种不会将边缘平滑掉的方法,但作为代价,需要更多的处理时间。与高斯滤波类似,双边滤波会依据每个像素及其领域构造一个加权平均值,加权计算包括两个部分,其中第一部分加权方式与高斯平滑中相同,第二部分也属于高斯加权,但不是基于中心像素点与其他像素点的空间距离之上的加权,而是基于其他像素与中心像素的亮度差值的加权。可以将双边滤波视为高斯平滑,对相似的像素赋予较高的权重,不相似的像素赋予较小的权重,也可用于图像分割之中。

双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一个高斯方差sigmad,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。

原理:

          

Opencv里面的API介绍:

双边模糊bilateralFilter(src,dest, d=15, 150, 3);

- 15 –计算的半径,半径之内的像数都会被纳入计算,如果提供-1 则根据sigma space参数取值

        -150 – sigma color 决定多少差值之内的像素会被计算

       - 3 – sigma space 如果d的值大于0则声明无效,否则根据它来计算d值

//srcdst当然分别是输入图像和输出图像。d为每个像素领域的直径,sigmaColor为颜色空间的标准偏差,sigmaSpace为坐标空间的标准偏差。borderType为边缘点插值类型。

 实验结果:(原图含有高斯噪声)

           (均值滤波)                                                 (高斯滤波

    

             (中值滤波)                                    (双边高斯滤波

   

分析:均值模糊无法克服边缘像素信息丢失缺陷。原因是均值滤波是基于平均权重;

高斯模糊部分克服了该缺陷,但是无法完全避免,因为没有考虑像素值的不同;

中值模糊,虽然抑制噪声算法比均值滤波略为复杂,但保持画面清晰度的效果更好;

 高斯双边模糊是边缘保留的滤波方法,避免了边缘信息丢失,保留了图像轮廓不变。

4、图像锐化

 

几种常见的卷积算子

(Robert 算子)

                    

(Sobel 算子)

                    

 (Laplance算子)

                        

3.1 sobel算子

Sobel 算子是一个离散微分算子(discrete differentiation operator)。 它结合了高斯平滑和微分求导,用来计算图像灰度函数的近似梯度。用于图像处理和计算机视觉,特别是在边缘检测算法中,它可以创建强调边缘的图像。它以斯坦福人工智能实验室(SAIL)的同事Irwin Sobel和GaryFeldman命名。 Sobel和Feldman在1968年SAIL的演讲中提出了“各向同性3x3图像梯度算子”的概念。从技术上讲,它是一个离散微分算子,计算图像强度函数梯度的近似值。在图像中的每一点,Sobel-Feldman算子的结果是相应的梯度向量或该向量的范数。Sobel-Feldman算子基于将图像与水平和垂直方向上的小的可分离的整数值滤波器进行卷积,因此在计算方面相对简便。另一方面,它产生的梯度近似相对粗糙,特别是对于图像中的高频变化。

图像边缘, 边缘就是灰度值变化剧烈的地方。表示这一改变的一个方法是使用导数。是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。梯度值的大变预示着图像中内容的显著变化。用更加形象的图像来解释,假设我们有一张一维图形。下图2中灰度值的”跃升”表示边缘的存在,图3中使用一阶微分求导我们可以更加清晰的看到边缘”跃升”的存在。

       

       图1、 Lena                               图2、像素一维图形    

                

                             图 3、一阶导数

具体是采用卷积的计算方法实现的。假设被作用的图像为  ,在两个方向上求导:

水平变化求导:将   与一个奇数大小的内核   进行卷积。比如,当内核大小为3时,   的计算结果为图4a:

                                            

垂直变化求导:将 I 与一个奇数大小的内核   进行卷积。比如,当内核大小为3时,   的计算结果为图4b:

                                            

在图像的每一点,结合以上两个结果求出近似 梯度 ,如图4c:

也可简化为:

l 求取导数的近似值,kernel=3时不是很准确,OpenCV使用改进版本Scharr函数,算子如下:

                                  

Opencv里面API介绍:

cv::Sobel (

InputArray Src // 输入图像

OutputArray dst// 输出图像,大小与输入图像一致

int depth // 输出图像深度.

Int dx  // X方向,几阶导数

int dy // Y方向,几阶导数

int ksize, SOBEL算子kernel大小,必须是1、3、5、7、

double scale  = 1

double delta = 0

int borderType =BORDER_DEFAULT)

 

cv::Scharr (

InputArray Src // 输入图像

OutputArray dst// 输出图像,大小与输入图像一致

int depth // 输出图像深度.

Int dx.  // X方向,几阶导数

int dy // Y方向,几阶导数.

double scale  = 1

double delta = 0

int borderType =BORDER_DEFAULT)

实验效果图:                    (原图)

                

            (x方向的梯度变化)                                       (y方向的梯度变化)

         

                                     (sobel算子检测的边缘)

                

            (x方向的梯度变化)                                       (y方向的梯度变化)

          

                                         (scharr算子检测的边缘)

                

分析:由实验图像可以明显的看出,scharr算子比sobel算子更加能突显图像的边缘细节,效果比sobel更好。

3.2 Laplace算子

拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:

                                

其中,

                                 

为了更适合于数字图像处理,将该方程表示为离散形式: 

                

         另外,拉普拉斯算子还可以表示成模板的形式,如图5-9所示。图5-9(a)表示离散拉普拉斯算子的模板,图5-9(b)表示其扩展模板,图5-9(c)则分别表示其他两种拉普拉斯的实现模板。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。一般增强技术对于陡峭的边缘和缓慢变化的边缘很难确定其边缘线的位置。但此算子却可用二次微分正峰和负峰之间的过零点来确定,对孤立点或端点更为敏感,因此特别适用于以突出图像中的孤立点、孤立线或线端点为目的的场合。同梯度算子一样,拉普拉斯算子也会增强图像中的噪声,有时用拉普拉斯算子进行边缘检测时,可将图像先进行平滑处理。

                            

图像锐化处理的作用是使灰度反差增强,从而使模糊图像变得更加清晰。图像模糊的实质就是图像受到平均运算或积分运算,因此可以对图像进行逆运算,如微分运算能够突出图像细节,使图像变得更为清晰。由于拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的缓慢变化区域。因此,锐化处理可选择拉普拉斯算子对原图像进行处理,产生描述灰度突变的图像,再将拉普拉斯图像与原始图像叠加而产生锐化图像。拉普拉斯锐化的基本方法可以由下式表示:

这种简单的锐化方法既可以产生拉普拉斯锐化处理的效果,同时又能保留背景信息,将原始图像叠加到拉普拉斯变换的处理结果中去,可以使图像中的各灰度值得到保留,使灰度突变处的对比度得到增强,最终结果是在保留图像背景的前提下,突现出图像中小的细节信息。

Opencv里面API的介绍:

处理的步骤:

1、 高斯模糊 – 去噪声GaussianBlur()

2、转换为灰度图像cvtColor()

3、拉普拉斯 – 二阶导数计算Laplacian()

4、 取绝对值convertScaleAbs()

5、显示结果

cv::Laplacian(

InputArray src,

OutputArray dst,

int depth, //深度CV_16S

int kisze, // 3

double scale = 1,

double delta =0.0,

int borderType = 4)

 

实验效果图:                                  (原图)

            

                                     (laplace算子锐化后的效果)

            

分析:通过laplace算子可以在保留背景信息的同时,将图像像素发生变化的地方,进行锐化突出,显示更多图像小的细节信息。

 

 

3.2 Canny算子

Canny算子与MarrLoG)边缘检测方法类似(Marr大爷号称计算机视觉之父),也属于是先平滑后求导数的方法。John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标:

好的信噪比,即将非边缘点判定为边缘点的概率要低,将边缘点判为非边缘点的概率要低;

高的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;

对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假响应边缘应该得到最大抑制。

Canny法就是基于满足这3个指标的最优解实现的,在对图像中物体边缘敏感性的同时,也可以抑制或消除噪声的影响。

Canny算子求边缘点具体算法步骤如下:

1. 用高斯滤波器平滑图像.

2. 用一阶偏导有限差分计算梯度幅值和方向

3. 对梯度幅值进行非极大值抑制

4. 用双阈值算法检测和连接边缘.

(1)灰度化和去噪

         Canny算法通常处理的都是灰度图像,因此先把图像转变为灰度图像。

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,特别是对抑制或消除服从正态分布的噪声非常有效。滤波可以消除或降低图像中噪声的影响,使用高斯滤波器主要是基于在滤波降噪的同时也可以最大限度保留边缘信息的考虑。

(2)用一阶偏导的有限差分来计算梯度的幅值和方向。

    高斯模糊的目的主要为了整体降低图像噪声,目的是为了更准确计算图像梯度及边缘计算梯度值和方向,幅值。计算图像梯度可以选择算子有Robot算子、Sobel算子、Prewitt算子等。

图像灰度值的梯度一般使用一阶有限差分来进行近似,这样就可以得图像在x和y方向上偏导数的两个矩阵。

                                       

这里采用更加简单明了的2x2的算子,其数学表达如下:

                              

(3)对梯度幅值进行非极大值抑制。

         非极大值抑制是进行边缘检测的一个重要步骤,通俗意义上是指寻找像素点局部最大值。沿着梯度方向,比较它前面和后面的梯度值进行了。

                            

                        

(4)用双阈值算法检测和连接边缘。

   非最大信号抑制以后,输出的幅值如果直接显示结果可能会少量的非边缘像素被包

含到结果中,所以要通过选取阈值进行取舍,传统的基于一个阈值的方法如果选择的阈值较小起不到过滤非边缘的作用,如果选择的阈值过大容易丢失真正的图像边缘,Canny提出基于双阈值(Fuzzy threshold)方法很好的实现了边缘选取,在实际应用中双阈值还有边缘连接的作用。双阈值选择与边缘连接方法通过假设两个阈值其中一个为高阈值TH另外一个为低阈值TL则有

a.对于任意边缘像素低于TL的则丢弃

b.对于任意边缘像素高于TH的则保留

c.对于任意边缘像素值在TL与TH之间的,如果能通过边缘连接到一个像素大于TH而且边缘所有像素大于最小阈值TL的则保留,否则丢弃。

 

Opencv里面API介绍:

         Canny算法介绍 – 五步

1.    高斯模糊 - GaussianBlur

2.    灰度转换 - cvtColor

3.    计算梯度 – Sobel/Scharr

4.    非最大信号抑制

5.    高低阈值输出二值图像

API – cv::Canny(

InputArraysrc, // 8-bit的输入图像

OutputArrayedges,// 输出边缘图像, 一般都是二值图像,背景是黑色

doublethreshold1,// 低阈值,常取高阈值的1/2或者1/3

doublethreshold2,// 高阈值

intaptertureSize,// Soble算子的size,通常3x3,取值3

boolL2gradient // 选择 true表示是L2来归一化,否则用L1归一化)

实验效果图:                              (原图)

                

                             (canny算子检测边缘结果)

                

分析:由结果图看出,通过canny算子检测得到的图像边缘确实效果很好,基本上能过很好的体现图像的边缘信息。

 

*5、频率域增强

 

    低通滤波,高通滤波,带阻滤波,同态滤波;

*6、彩色增强

    真彩色增强,假彩色增强,伪彩色增强;

 

    

2016-08-15 21:29:57 xlx921027 阅读数 4626

Digital Image Processing[数字图像和数字图像处理]

数字图像就是指代表图像的矩阵。

数字图像处理就是对图像矩阵进行各种数学运算

在进行图像处理时需要一些数学基础,主要包括线性系统、傅立叶变换、沃尔什变换和小波变换等

 

1.  景象:人眼所看到的外部世界。

     人类看世界的生理功能:由于光线照射到物体上,经过不发光的物体反射形成的反射光线或发光物体发出的光线射入人们的眼睛中。这些光信号在视网膜上转成神经电信号,然后神经电信号通过神经纤维传送到大脑皮层中,使人们看到外部世界

2.  图象:记录下来的景象,是对视觉信息的记录和展现 。

     要形成一幅图像,必须有两个因素:一个是景象,另一个是电磁波。以光速传播,所以事件的成像是在瞬间进行的。电磁波与物体的相互作用决定了图像中呈现出的物体的几何形状。忧郁电磁波的波长不同,电磁波与物质的相互作用形式也不同。{γ射线区, x射线,UV, 可见光, IR, 微波, FM波 }

根据电磁波长的不同,常采用不同的记录方式(如照相机、摄像机、X光成像等)来形成各种不同的图像。通常将图像分为两种:一种是可以为视觉系统直接感受到的图像,如照片和图画等称为可见图像;另一种是不可以为视觉系统直接感受到图像,这类图像必须经过某些数学和物理的转换才能为视觉系统所感受,如X光片等,称为不可见图像。从另一个角度,若记录的图像是随时间变化的,则称为时变图像如电影;若记录的图像是不随时间变化的,则称为静止图像如图画。

3.  模拟图象或连续图像 (不能直接传给计算机处理)




4.  数字图像:将连续图像进行数字化后,用一个矩阵表示的图像

 

 

5.  数字图像处理: 用计算机对用矩阵表示的数字图像的矩阵进行各种运算。图像处理的目的是改善图像的质量,使它更便于人们观察,适合机器识别。

通常分为两大类图像处理方式: (1)光学图像处理,它是用光学的方法对图像作某些特殊的处理。 (2)数字图像处理,它是用计算机对图像进行加工和处理,eg:image enhancement 对图像进行增强处理。这里是增强有用的信息,抑制无用的信息,从而改变图像的灰度分布,使图像更易于人们视觉系统观看。],imagerestoration对图像进行复原处理。有些图像由于在拍摄的曝光时间内,景物与照相机之间产生了相对移动,使图像模糊了,应用图像复原技术可以改善这种图像的质量],imageanalysis提取、分析和描述图像中所包含的特殊信息,如边缘提取]

 

6.  数字图像处理系统: 能够完成图像处理和分析任务的系统。主要有:图像输入设备,执行分析与处理图像的计算机及图像处理机,输出设备及存储系统中的图像数据库等。

数字图像处理系统与其他数据处理系统的不同之处是其庞大的数据处理量和存储量。图像处理技术是以计算机为核心的技术,因此,图像处理系统的发展是随着计算机技术的提高而发展的。从系统的层次上,数字图像处理系统可分为高、中、低三个档次。 (1)高档图像处理系统。它是采用高速芯片、适合图像处理特有规律的并行阵列图像处理机。这种系统采用多个CPU或多机结构,可以以并行或流水线的方式工作。 (2)中档图像处理工作站。它是由主控计算机和图像处理器构成。其主控机是小型机或工作站。这类系统有较强的交互处理能力,在系统环境下具有较好的再开发能力。 (3)低档的数字图像处理系统。由计算机加上图像采集部件构成,其结构简单,是一种便于普及和推广的图像处理系统。

7图像处理硬件系统主要由图像采集系统、图像处理系统和图像输出系统三部分组成。

(1)数字图像采集系统原始的图像数据是通过图像采集部件进入计算机的,即图像采集部件是采集原始的模拟图像数据,并将其转换成数字信号,计算机接受到图像的数字信号后,将其存入内存储区。

(2) 数字图像处理系统在数字图像处理系统中,图像处理工作是由计算机完成的,计算机的扩展槽上插有带帧存储器的采集卡,图像处理的过程通常包含从帧存储器提取数据到计算机内存、处理内存中的图像数据和送数据回图像帧存储器三个步骤。对于直接使用内存的采集卡,则只需和内存进行数据交换,计算机的内存越大,CPU的运算速度越快,图像处理的速度也就越快。

(3)数字图像输出系统图像的输出是图像处理的最终目的。图像输出有两种基本形式:一种是根据图像处理的结果作出判断,例如质量检测中的合格与不合格,输出不一定以图像作为最终形式,而只需作出提示供人或机器进行选择。这种提示可以是计算机屏幕信息,或是电平信号的高低,样的输出往往用于成熟研究的应用上。另一种则是以图像为输出形式,它包括中间过程的监视以及结果图像的输出。图像输出方式有屏幕输出、打印输出和视频硬拷贝输出。

 

2019-12-20 10:36:34 rong11417 阅读数 142

目录

1.介绍

2.模拟图像处理

3.数字图像处理

4.什么是图像

5.数字图像和信号之间的关系

信号

关系

6.如何形成数字图像

7.应用

机器/计算机视觉

计算机图形学

人工智能

信号处理


1.介绍

数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。   数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。

信号处理是电气工程和数学领域的一门学科,处理模拟和数字信号的分析和处理,并处理信号的存储,滤波和其他操作。这些信号包括传输信号,声音或语音信号,图像信号和其他信号等

在所有这些信号中,处理信号类型的字段是在图像处理中完成的,对于该信号,输入是图像,而输出也是图像。顾名思义,它处理图像处理。

它可以进一步分为模拟图像处理和数字图像处理。

2.模拟图像处理

模拟图像处理是对模拟信号进行的。它包括对二维模拟信号的处理。在这种类型的处理中,通过改变电信号通过电手段来操纵图像。常见的例子包括电视图像。

随着时间的流逝,数字图像处理已超过模拟图像处理,这是由于其应用范围更广。

3.数字图像处理

数字图像处理涉及开发对数字图像执行操作的数字系统。

4.什么是图像

图像不过是二维信号。它由数学函数f(x,y)定义,其中x和y是水平和垂直两个坐标。

任意点的f(x,y)值给出了图像该点的像素值。

上图是您现在在计算机屏幕上查看的数字图像的示例。但实际上,该图像不过是二维数组,其范围是0到255之间的数字。

128 30 123
232 123 321
123 77 89
80 255 255

每个数字在任何点都代表函数f(x,y)的值。在这种情况下,值128、230、123分别表示单个像素值。图片的尺寸实际上就是这个二维数组的尺寸。

5.数字图像和信号之间的关系

如果图像是二维阵列,那么它与信号有什么关系?为了了解这一点,我们需要首先了解什么是信号?

信号

在物理世界中,可以将随时间在空间上或任何更高维度上可测量的任何数量视为信号。信号是一种数学函数,它传达一些信息。

信号可以是一维或二维或更高维的信号。一维信号是随时间测量的信号。常见的例子是语音信号。

二维信号是在其他一些物理量上测得的信号。二维信号的示例是数字图像。在下一个教程中,我们将详细介绍如何形成和解释一维或二维信号以及更高的信号。

关系

由于在两个观察者之间的物理世界中传达信息或广播消息的任何事物都是信号。这包括语音或(人声)或图像作为信号。自从我们讲话时,我们的声音就转换为声波/信号,并根据与之交谈的时间而改变。不仅如此,而且数码相机的工作方式(例如从数码相机获取图像时)都涉及将信号从系统的一部分传输到另一部分。

6.如何形成数字图像

由于从相机捕获图像是一个物理过程。阳光被用作能源。传感器阵列用于图像的采集。因此,当阳光照射到物体上时,传感器会感应到该物体反射的光量,并通过感应到的数据量生成连续的电压信号。为了创建数字图像,我们需要将该数据转换为数字形式。这涉及采样和量化。(它们将在后面讨论)。采样和量化的结果导致二维数组或数字矩阵,它们不过是数字图像。

7.应用

机器/计算机视觉

机器视觉或计算机视觉处理开发的系统,其中输入是图像,输出是某些信息。例如:开发一个扫描人脸就可以支付的系统。这个系统看起来像这样。

计算机图形学

计算机图形学处理对象模型中图像的形成,然后由某些设备捕获图像。例如:对象渲染。从对象模型生成图像。这样的系统看起来像这样。

人工智能

人工智能或多或少是将人类智能纳入机器的研究。人工智能在图像处理中有许多应用。例如:开发计算机辅助诊断系统,以帮助医生解释X射线,MRI等图像,然后突出显示要由医生检查的明显部分。

信号处理

信号处理是一个保护伞,而图像处理则位于其中。物体在物理世界(3d世界)中反射的光量穿过相机的镜头,并成为2d信号,因此导致图像形成。然后使用信号处理方法将该图像数字化,然后在数字图像处理中操纵此数字图像。

2015-10-31 15:32:34 samkieth 阅读数 14637

我们从这一节开始进入数字图像处理的大门。预备知识后序补充。图像处理可以有多种分类,其中图像增强和图像复原可以看作是一组相反的过程,这篇主要是概括图像增强技术。那么,增强技术也可以有多种分类,如,可以分为平滑(抑制高频成分)与锐化(增强高频成分),空间域与频域。我们把以第二种为例,分开解释两种技术,并进行对比。为了更加贴近实际操作,我将主讲算法。

空间域图像增强

基于空域的算法分为点运算算法和邻域去噪算法。

简单来说,空间域增强就是指增强构成图像的像素,是直接对这些像素进行操作的过程。而频域则是修改图像的傅立叶变换。

g(x, y) =T[f (x, y)]定义了空间域。

f(x,y)是原图像,g(x,y)是处理后的图像

T是作用于f的操作,定义在(x,y)的邻域

空间域增强的简化形式(灰度级变换函数,又称强度映射):s =T(r)

r是f(x,y)在任意点(x,y)的灰度级,s是g(x,y)在任意点(x,y)的灰度级

1.点运算

点运算实际上是对图像的每个像素点的灰度值按一定的映射关系进行运算得到一副新图像的过程。点运算算法即灰度级校正、灰度变换和直方图处理等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。

那我们先来看灰度变换中的常用算法:

1.1灰度变换

1.1.1图像反转

表达式:s = (L−1)−r

[0,L-1]为图像的灰度级。作用:倒转图像的灰度,适用于增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。


1.1.2.对数变换

表达式:s = c*log(1+ r)

c是常数,r ≥ 0。

此种变换使一窄带低灰度输入图像值映射为一宽带输出值。有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失,解决办法是对原图进行灰度压缩,如对数变换,可应用在傅立叶频谱。


1.1.3.幂次变换

表达式: 

 c和γ正常数

γ <1 提高灰度级,在正比函数上方,使图像变亮                  

γ >1 降低灰度级,在正比函数下方,使图像变暗

c=γ=1时简化为正比变换。




1.1.4.对比拉伸

主要思想是提高图像处理时灰度级的动态范围(待深究)


1.1.5.灰度切割

提高特定灰度范围的亮度。两种基本方法:一是在所关心的范围内为所有的灰度指定一个较高值,而为其他灰度指定一个较低值。第二种使所需的范围的灰度变亮,但是保持了图像的背景和灰度色调。



1.1.6.位图切割

假设图像中每个像素的灰度级是256,这可以用8位来表示,假设图像是由8个位平面组成,范围从位平面0到位平面7。其中,位平面0包含图像中像素的最低位,位平面7包含像素的最高位。

 这种方法通过对特定位提高亮度,改善图像质量。

  较高位(如前4位)包含大多数视觉重要数据。

  较低位(如后4位)对图像中的微小细节有作用。

 分解为位平面,可以分析每一位在图像中的相对重要性。




1.2直方图处理

直方图是多种空间域处理的基础,我们把它提到与灰度级变换相同的高度,接下来一起学习。

1.2.1.直方图两种定义:

一个灰度级在范围[0,L-1]的数字图像的直方图是一个离散函数  h(rk)= nk

nk是图像中灰度级为rk的像素个数

rk 是第k个灰度级,k = 0,1,2,…,L-1

由于rk的增量是1,直方图可表示为:

p(k)= nk

即,图像中不同灰度级像素出现的次数


一个灰度级在范围[0,L-1]的数字图像的直方图是一个离散函数 p(rk)= nk /n

n 是图像的像素总数

nk是图像中灰度级为rk的像素个数

rk是第k个灰度级,k = 0,1,2,…,L-1


1.2.2.直方图分析

若一幅图像的像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调。低灰度级图像的直方图窄而集中于灰度级的中部。在偏暗图像中,直方图的组成成分集中在灰度级低(暗)的一侧,类似的,明亮图像的直方图则倾向于灰度级高的一侧。较基础,这里不给出图像显示。


1.2.3.直方图均衡化(待补充)

../../../../../_images/Histogram_Equalization_Theory_0.jpg

直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法.说得更清楚一些, 以上面的直方图为例, 你可以看到像素主要集中在中间的一些强度值上. 直方图均衡化要做的就是拉伸这个范围. 见下面左图: 绿圈圈出了 少有像素分布其上的 强度值. 对其应用均衡化后, 得到了中间图所示的直方图. 均衡化的图像见下面右图.

../../../../../_images/Histogram_Equalization_Theory_1.jpg均衡化指的是把一个分布 (给定的直方图) 映射 到另一个分布 (一个更宽更统一的强度值分布), 所以强度值分布会在整个范围内展开.

要想实现均衡化的效果, 映射函数应该是一个累积分布函数 (cdf) (更多细节, 参考*学习OpenCV*). 对于直方图 H(i), 它的 累积分布 H^{'}(i) 是:

H^{'}(i) = \sum_{0 \le j < i} H(j)

要使用其作为映射函数, 我们必须对最大值为255 (或者用图像的最大强度值) 的累积分布 H^{'}(i) 进行归一化. 同上例, 累积分布函数为:

  • ../../../../../_images/Histogram_Equalization_Theory_2.jpg
  • 最后, 我们使用一个简单的映射过程来获得均衡化后像素的强度值:
  • equalized( x, y ) = H^{'}( src(x,y) )

2.邻域去噪

邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。常用算法有均值滤波、中值滤波、最大值滤波等。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度算子、高通滤波、掩模匹配法、统计差值法。拉普拉斯算子等。
可以说,邻域处理工作是操作邻域的图像像素值以及相应的与邻域有关维数的子图像的值。这些子图像可称为滤波器,掩模,核,模板或窗口。在滤波器子图像中的值是系数值,而不是像素值。滤波的概念来源于在频域对信号进行处理的傅立叶变换,这在后文提到。空间滤波其实有别于传统的频域滤波处理。
空间滤波原理:
空间滤波的处理起始就是在待处理图像中逐点地移动掩模。模板本身被称为空间滤波器空间模板即M×N图像的m×n子图像)

在M×N的图像f上,使用m×n的滤波器掩模进行线性滤波由下式给出:

 

其中,m=2a+1,n=2b+1,w(s,t)是滤波器系数,f(x,y)是图像值,要完整图像的处理,必须取x=0,1,2。。。M-1,y=0,1,2......N-1

上式与频域中卷积处理很相似,故线性空间滤波处理经常称为“掩模与图像的卷积”。

空间滤波的简化形式:


其中,w是滤波器系数,z是与该系数对应的图像灰度值,mn为滤波器中包含的像素点总数。

非线性空间滤波处理也是基于邻域处理,且掩模滑过的机理一样。

我们需要考虑滤波中心靠近图像轮廓时发生的情况。需要将掩模中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素点处,这是最佳方法。还可以用全部包含于图像中的掩模部分滤波所有像素。


2.1.平滑滤波器

主要用于模糊处理(去除图像中一些不重要的细节)和 减小噪声。

2.1.1线性滤波器:均值滤波器

包含在滤波器邻域内像素的平均值,也称为均值滤波器

作用:减小图像灰度的“尖锐”变化,减小噪声

由于图像边缘是由图像灰度尖锐变化引起的,所以也存在边缘模糊的问题

 

图a是标准的像素平均值(滤波系数均为1)

图b是像素的加权平均,表明一些像素更为重要。(重要的像素系数大,系数之和为16)

加权均值滤波过程公式为:



2.1.2非线性滤波器:统计排序滤波器(中值滤波器最有代表性)

 统计排序滤波器基于滤波器所在图像区域中像素的排序,由排序结果决定的值代替中心像素的值

分类

 中值滤波器: 用像素领域内的中间值代替该像素

 最大值滤波器:用像素领域内的最大值代替该像素

 最小值滤波器:用像素领域内的最小值代替该像素


中值滤波器

 主要用途:去除噪声

 计算公式:R = mid {zk | k = 1,2,…,n}

 

 最大值滤波器

 主要用途:寻找最亮点

 计算公式:R = max {zk | k = 1,2,…,n}

 

 最小值滤波器

 主要用途:寻找最暗点

 计算公式:R = min {zk | k = 1,2,…,n}

 

由于中值滤波使用普遍,我们再次对中值滤波进行详解。它处理脉冲噪声(椒盐噪声)非常有效。

 中值滤波的原理

 像素由小到大排列,用模板区域内像素的中间值,作为结果值。

例如3×3的领域内有像素(10,20,20,20,15,20,20,25,100),排序后为(10,15,20,20,20,20,20,25,100),中值为20.

R = mid {zk | k = 1,2,…,n}

    强迫突出的亮点(暗点)更象它周围的值,以消除孤立的亮点(暗点)

 

中值滤波算法的特点

在去除噪音的同时,可以比较好地保留边的锐度和图像的细节(优于均值滤波器)

能够有效去除脉冲噪声:以黑白点叠加在图像上。



2.2.锐化滤波器

作用:突出图像中的细节,增强被模糊了的细节。印刷中的细微层次强调。弥补扫描对图像的钝化,超声探测成像,分辨率低,边缘模糊,通过锐化来改善。图像识别中,分割前的边缘提取。锐化处理恢复过度钝化、暴光不足的图像。

锐化处理可以用空间微分来完成。我们将讨论数字微分锐化的定义极其算子。微分算子的相应强度与图像在该点(应用了算子)的突变程度有关。这样,图像微分增强了边缘和其他突变(如噪声)并削弱了灰度变换缓慢的区域。

微分滤波器的原理:

均值产生钝化的效果,而均值与积分相似,由此而联想到,微分能不能产生相反的效果,即锐化的效果?结论是肯定的。 

在图像处理中应用微分最常用的方法是计算梯度。函数f(x,y)在(x,y)处的梯度为一个向量:


对于一元函数f(x)表达一阶微分的定义是一个差值:


类似用差分定义二阶微分:


锐化滤波器的分类

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

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

 

2.2.1拉普拉斯算子

图像函数的拉普拉斯变换定义为



拉普拉斯变换对图像增强的基本方法


(1)用于拉普拉斯模板中心系数为负

(1)用于拉普拉斯模板中心系数为正


拉普拉斯算子


2.2.2梯度算子

梯度通过一个二维列向量来定义

 

向量的模值


考虑一个3x3的图像区域,z代表灰度级,上式在点z5的∇f值可用 



 

向量模值的近似计算       

用绝对值替换平方和平方根有:


 微分过滤器的原理

∇f ≈ |z6 – z5| + |z8 – z5|

另外一种计算方法是使用交叉差:

∇f ≈ [(z9 – z5)2 + (z8 – z6)2]1/2

≈ |z9 – z5| + |z8 – z6|

微分滤波器模板系数设计

Roberts交叉梯度算子

Prewitt梯度算子

Sobel梯度算子


 



频域图像增强

1.频域傅立叶变换和拉普拉斯算子

2.平滑滤波器

2.1理想低通

2.2巴特沃思

2.3高斯滤波器

3.锐化滤波器

3.1理想高通

3.2巴特沃思

3.3高斯型







数字图像处理

阅读数 20

没有更多推荐了,返回首页