滤波过程就是在图像f(x,y)中逐点移动模板(即滤波器),使模板中心和点(x,y)重合,滤波器在每一点的响应是根据模板的具体内容并通过预先定义的关系计算的。

将图像的模板在图像中逐像素移动,并对每个像素进行指定数量的计算的过程就是卷积过程。

包括图像的平滑和锐化。平滑用于去除噪声,锐化用于加强边缘。
在平滑处理中平滑的对象是噪声而不是边缘,在锐化处理中锐化的对象是边缘而不是噪声。
包括平滑滤波器(低通滤波器)和锐化滤波器(高通滤波器) p171
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
5.3图像平滑
imfilter滤波

>> help imfilterIMFILTER Multidimensional image filtering.B = IMFILTER(A,H) filters the multidimensional array A with themultidimensional filter H.  A can be logical or it can be a nonsparse numeric array of any class and dimension.  The result, B, has the same size and class as A.Each element of the output, B, is computed using double-precisionfloating point.  If A is an integer or logical array, then output elements that exceed the range of the given type are truncated, and fractional values are rounded.B = IMFILTER(A,H,OPTION1,OPTION2,...) performs multidimensionalfiltering according to the specified options.  Option arguments canhave the following values:- Boundary optionsX            Input array values outside the bounds of the arrayare implicitly assumed to have the value X.  When noboundary option is specified, IMFILTER uses X = 0.'symmetric'  Input array values outside the bounds of the arrayare computed by mirror-reflecting the array acrossthe array border.'replicate'  Input array values outside the bounds of the arrayare assumed to equal the nearest array bordervalue.'circular'   Input array values outside the bounds of the arrayare computed by implicitly assuming the input arrayis periodic.- Output size options(Output size options for IMFILTER are analogous to the SHAPE optionin the functions CONV2 and FILTER2.)'same'       The output array is the same size as the inputarray.  This is the default behavior when no outputsize options are specified.'full'       The output array is the full filtered result, and sois larger than the input array.- Correlation and convolution'corr'       IMFILTER performs multidimensional filtering usingcorrelation, which is the same way that FILTER2performs filtering.  When no correlation orconvolution option is specified, IMFILTER usescorrelation.'conv'       IMFILTER performs multidimensional filtering usingconvolution.Example -------------rgb = imread('flowers.tif'); h = fspecial('motion',50,45); rgb2 = imfilter(rgb,h); imshow(rgb), title('Original') figure, imshow(rgb2), title('Filtered') rgb3 = imfilter(rgb,h,'replicate'); figure, imshow(rgb3), title('Filtered with boundary replication')See also CONV2, CONVN, FILTER2. 

平均模板滤波器

    I=imread('baby_noise.bmp');       subplot(1,4,1);;imshow(I);title('source');    h=fspecial('average',3);%3x3模板    I3=imfilter(I,h,'corr','replicate');%执行滤波,replicate重复     subplot(1,4,2);;imshow(I3);title('3');    h=fspecial('average',5);%5x5模板    I5=imfilter(I,h,'corr','replicate');    subplot(1,4,3);;imshow(I5);title('5');    h=fspecial('average',7);%7x7模板    I7=imfilter(I,h,'corr','replicate');    subplot(1,4,4);;imshow(I7);title('7');   

高斯模板:由于平均模板对邻域内的像素一视同仁,为了减少平滑处理中的模糊,得到更自然的平滑效果,则会很自然的想到适当加大模板中点的权重,随着远离中心点,权重迅速减少,从而可以确保中心点看起来更接近与他距离更近的点,基于这种考虑的模板是高斯模板。
高斯模板的名字由来是二维高斯函数,即二维正态分布函数。方差是sigma。
sigma过小,偏离中心的所有像素的权重将会非常小,相当于没有滤波效果。反之相反。

I=imread('baby_noise.bmp');
subplot(1,4,1);imshow(I);title('source'); h=fspecial('gaussian',3,0.5);%3是板数0.5是sigma
I3_5=imfilter(I,h);
subplot(1,4,2);imshow(I3_5);title('3_5');  h=fspecial('gaussian',3,0.8);
I3_8=imfilter(I,h);
subplot(1,4,3);imshow(I3_8);title('3_8');  h=fspecial('gaussian',5,0.8);
I5_8=imfilter(I,h);
subplot(1,4,4);imshow(I5_8);title('5_8');

中值滤波

    I=imread('lena.gif');%灰度图像    subplot(1,4,1);imshow(I3);title('I');    J=imnoise(I,'salt & pepper');%添加椒盐噪声。黑点同胡椒,白点同盐粒。subplot(1,4,2);imshow(J);title('J');    h=fspecial('average',3);%3x3模板    I3=imfilter(I,h,'corr','replicate');%执行滤波,replicate重复   subplot(1,4,3);imshow(I3);title('3X3平均');    J=medfilt2(J,[3,3]);%中值滤波subplot(1,4,4);imshow(I3);title('medfilt2');   

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
5.5图像锐化

图像锐化主要用于增强图像中的灰度跳变部分,这一点与图像平滑对灰度跳变的抑制作用刚好相反。事实上从平滑与锐化的两种运算算子上也能看出,线性平滑都是基于对图像邻域的加权求和或积分运算,而锐化则是其逆运算导数(梯度)或有限差分来实现。
噪声和边缘都会使图像产生灰度跳变,需要将噪声和边缘区分。
在平滑处理中平滑的对象是噪声而不是边缘,在锐化处理中锐化的对象是边缘而不是噪声。
5.5.2.基于一阶导数的图像增强--梯度算子
1.robert交叉梯度--需要两次滤波,然后求和

    i=imread('bacteria.BMP');       subplot(1,4,1);imshow(i); title('source') ;i=double(i);    w1=[-1,0;0,1];    %对正45度方向的边缘有较强响应,从图g1可以看出w2=[0,-1;1,0];    %对负45度方向的边缘有较强响应,从图g2可以看出g1=imfilter(i,w1,'corr','replicate');%正45度滤波 g2=imfilter(i,w2,'corr','replicate');%负45度滤波g=abs(g1)+abs(g2);    subplot(1,4,2);imshow(abs(g1),[]);title('g1') ;subplot(1,4,3);imshow(abs(g2),[]);title('g2');subplot(1,4,4);imshow(g,[]);title('g') ;

2.sobel梯度

5.5.3.基于2阶微分的图像增强--拉普拉斯算子。由于各向同性,所以只需一次滤波。

    I=imread('bacteria.BMP');         subplot(1,4,1);imshow(I); title('source') ;  I=double(I);      w1=[0 -1 0;-1 4 -1;0 -1 0];L1=imfilter(I,w1,'corr','replicate');subplot(1,4,2);imshow(abs(L1),[]); title('w1模板') ;  w2=[-1 -1 -1;-1 8 -1;-1 -1 -1];L2=imfilter(I,w2,'corr','replicate');subplot(1,4,3);imshow(abs(L2),[]); title('w2模板') ;  w3=[1 4 1;4 -20 4;1 4 1];%加权模板L3=imfilter(I,w3,'corr','replicate');subplot(1,4,4);imshow(abs(L3),[]); title('w3模板') ;


5.5.5高频提升滤波机器实现
无论是基于一阶微分的robert还是基于二阶微分的拉普拉斯的模板,其中各系数和均为0。这说明算子在灰度恒定的区域响应为0,即在锐化处理后的图像中,源图像的平滑区近乎于黑色,而原图中所有的边缘,细节,和灰度跳变点都在黑背景中显示出来。在基于锐化的图像增强中,我们常常希望在增强边缘和细节的同时,仍然保留原图像中的信息,而不是将平滑区域的灰度信息丢失。因此可以将源图像加上锐化后的图像以得到比较理想的图像。p171

5.5.6高斯-拉普拉斯变换 LoG

    I=imread('lena.gif');   subplot(1,4,1);imshow(I); title('source') ;  I_double=double(I);   %滤波前转化为双精度   h_lap=[-1 -1 -1;-1 8 -1;-1 -1 -1];%拉普拉斯算子I_lap=imfilter(I_double,h_lap,'corr','replicate');%拉普拉斯锐化subplot(1,4,2);imshow(uint8(abs(I_lap)),[]); title('lap');h_log=fspecial('log',5,0.5);%log模板,sigma=0.5I_log=imfilter(I_double,h_log,'corr','replicate');%log滤波subplot(1,4,3);imshow(uint8(abs(I_lap)),[]); title('log 0.5') ;h_log=fspecial('log',5,2);%log模板,sigma=2I_log=imfilter(I_double,h_log,'corr','replicate');%log滤波subplot(1,4,4);imshow(uint8(abs(I_lap)),[]); title('log 2') ;

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

转载于:https://www.cnblogs.com/-song/archive/2012/03/25/3331884.html

数字图像处理之空间域图像增强相关推荐

  1. 数字图像处理之频率域图像增强

    ......................................................................... 图像进行傅立叶运算的物理意义 http://met. ...

  2. 数字图像处理——第三章 空间域图像增强(灰度变换和直方图处理)

    文章目录 空间域图像增强 1. 背景知识 2. 基本灰度变换 2.1 图像反转 2.2 对数变换 2.3 幂次变换 2.4 分段线性变换函数 2.4.1 对比拉伸 2.4.2 灰度切割 2.4.3 位 ...

  3. 数字图像处理系列(二)---空间域图像增强-点运算

    chapter2 空间域图像增强(点增强) 1.图像增强的基本概念 在不考虑图像降质的情况下,通过经验和试探的方法,把图像感兴趣的部分进行选择性突出,而把不在意的部分进行压制,从而得到我们想要的信息. ...

  4. 图像处理基本算法之空间域图像增强

    图像增强技术根据增强处理过程所在的空间不同,可分为基于频域的算法和基于空域的算法两大类.基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法,把图像看成一种二维信号 ...

  5. 【计算机视觉】数字图像处理(四)—— 图像增强

    数字图像处理(四)-- 图像增强 图像增强的定义 图像增强方法 一.图像增强的点运算 (一)灰度变换 1. 线性变换 2. 分段线性变换 3. 非线性灰度变换 对数变换 指数变换 (二) 直方图修整法 ...

  6. 【OpenCV 例程200篇】67. 空间域图像增强的综合应用

    [OpenCV 例程200篇]67. 空间域图像增强的综合应用 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 5. ...

  7. 循序渐进之(五)空间域图像增强之自适应直方图均衡化(AHE)

    循序渐进之(五)空间域图像增强之自适应直方图均衡化(AHE) 文字摘自:对比度受限的自适应直方图均衡化(CLAHE) 直方图均衡化(HE)是一种很常用的直方图类方法,基本思想是通过图像的灰度分布直方图 ...

  8. 数字图像处理——第三章 空间域图像增强(空间滤波)

    文章目录 1. 空间滤波基础 2. 线性滤波器 2.1 平滑空间滤波器 2.2 锐化空间滤波器 2.2.1 基于一阶微分的图像增强--梯度法 2.2.2 基于二阶微分的图像增强--拉普拉斯算子 3. ...

  9. 数字图像处理-空间域图像增强(一)(图像反转,对数变换,幂次变换、分段线性变换)

    空间域增强的第一部分:图像反转,对数变换,幂次变换.分段线性变换 (s:现点值,r: 原点值) 图像反转: 这个无需多说,就是把黑变白,白变黑,拿八位灰度图像来说 表达式:s=255-r 作用:看清暗 ...

最新文章

  1. POJ 1260 Pearls
  2. 自适应lasso_线性回归模型优化算法(Lasso)
  3. python怎么连接MongoDB数据库
  4. 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections
  5. 软工 课堂作业:选出一个整数组中最大子数组
  6. 最全ACM常用STL
  7. 索引-jquery-第二版-pyhui
  8. js几个页面生成pdf 然后批量打印_太好用了!这款免费PDF工具能够满足你的各种需求...
  9. html 有序无序列表
  10. 编程设置最小化、最大化、关闭按钮 相关讨论
  11. bzoj2339: [HNOI2011]卡农
  12. android token加密_Android使用token维持登陆状态的方法
  13. so没有打包进AKP导致java.lang.UnsatisfiedLinkError: dlopen failed: library “lib.so“ not found
  14. 群晖3617可以有几个网卡_一步到位,购入群晖920+和它的小伙伴们
  15. Windows 8 平板电脑体验及思考
  16. 微信小程序实现tab切换
  17. easyrecovery professional专业版下载 v14.0.0.0 专业版介绍
  18. MODIS MOD13A3 ndvi数据sg批量滤波
  19. 2019游戏培训要花多少钱?
  20. 你工作有没有遇到瓶颈?

热门文章

  1. 最小生成树--prim+优先队列优化模板
  2. 转 CentOS下php安装mcrypt扩展
  3. Oracle安装——虚拟机搭建图解
  4. Oracle笔记(3):数据库启动原理
  5. shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus
  6. 验证redis的主从复制
  7. android 使用浏览器打开指定页面
  8. android 使用compareTo比较大小
  9. Eclipse jar包打不进apk
  10. Gitlab的CI/CD初尝试