图像处理之图像的平滑与锐化
来源:互联网 发布:连续梁弯矩计算软件 编辑:程序博客网 时间:2024/05/17 09:11
图像处理之图像的平滑与锐化
概念:
锐化就是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波。锐化处理在增强图象边缘的同时增加了图象的噪声。
平滑与锐化相反,就是滤掉高频分量,从而达到减少图象噪声,使图片变得有些模糊。
一、灰度化
灰度化,也就是黑白化,就是将图像进行黑白处理,使其失去色彩。而从像素点出发,就是使各个像素点的三种颜色分量R、G、B的值相同。
常用的黑白化的方法有三种:
- 第一种是最大值法(Maximum):
R=G=B=Max(R,G,B),这种方法处理后灰度图象的亮度会偏高,不建议采用。
- 第二种就是平均值法(Average):
R=G=B=(R+G+B)/3,这种方法处理后灰度图象的亮度较柔和,本人就是采用的这种方法。
- 第三种是加权平均值法(Weighted Average):
R=G=B=wr*R+wg*G+wb*B,wr、wg、wb分别为R、G、B的权值。
鉴于本人只使用了第二种,所以就先贴上第二种的代码:
src=imread('background.bmp');[m,n,channel]=size(src);desc=zeros(m,n);desc=double(desc);for i=1:m for j=1:n for k=1:channel desc(i,j)=desc(i,j)+src(i,j,k); end desc(i,j)=desc(i,j)/3; endendimshow(uint8(desc));
二、锐化
锐化就是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波。锐化处理在增强图象边缘的同时增加了图象的噪声。
常用的锐化模板是拉普拉斯(Laplacian)模板,而本人也是采用的拉普拉斯模板进行的锐化处理。
[-1,-1,-1]
[-1,9,-1]
[-1,-1,-1]
三、平滑
平滑与锐化相反,就是滤掉高频分量,从而达到减少图象噪声,使图片变得有些模糊。
常用的平滑处理方法有三种:
- Box模板去噪平滑处理,也就是均一化处理。
Box模板是{1,1,1,1,1,1,1,1,1}
- 高斯模板去噪平滑处理,就是在Box模板的基础上加入了加权系数,考虑了距离某点位置越近影响越大的因素。相比Box模板,较为清晰一些。
高斯模板是{1,2,1,2,4,2,1,2,1}
- 中值滤波去噪平滑处理,就是将该点左右邻近的两个点的rgb值与该点自身进行比较,选择其中最中间的值赋给该点。
最终代码:
Img1=imread('Fig4.jpg');subplot(3,3,1);imshow(Img1);title('Fig4.jpg');w1=[1,1,1;1,1,1;1,1,1];w2=[1,2,1;2,4,2;1,2,1];w3=[-1,-2,-1;0,0,0;1,2,1];w4=[-1,0,1;-2,0,2;-1,0,1];k1=1/sum(sum(w1));k2=1/sum(sum(w2));variance=225;[m,n]=size(Img1);I1=uint8(double(Img1)+randn(m,n).*sqrt(variance)+5);subplot(3,3,2);imshow(I1);title('gs.png');II1=double(I1);II11=double(I1);II111=double(I1);for i=2:m-1 for j=2:n-1 p=[II1(i-1,j-1),II1(i-1,j),II1(i-1,j+1);II1(i,j-1),II1(i,j),II1(i,j+1);II1(i+1,j-1),II1(i+1,j),II1(i+1,j+1)]; II1(i,j)=sum(sum((p.*w1)*k1)); a=(p.*w1); pp=sort(reshape(a,1,9)); II11(i,j)=pp(5); II111(i,j)=abs(sum(sum(p.*w3)))+abs(sum(sum(p.*w4))); endendsubplot(3,3,5);imshow(uint8(II1));title('normal 均值滤波 gs.png');subplot(3,3,8);imshow(uint8(II11));title('normal 中值滤波 gs.png');subplot(3,3,7);imshow(uint8(II11));title('normal 锐化 gs.png');I2=Img1;a=rand(m,n);for i=1:m for j=1:n if(a(i,j)>0.975) I2(i,j)=255; elseif(a(i,j)<0.05) I2(i,j)=0; end endendsubplot(3,3,3);imshow(I2);title('jyzs.png');II2=double(I2);II22=double(I2);for i=2:m-1 for j=2:n-1 p=[II2(i-1,j-1),II2(i-1,j),II2(i-1,j+1);II2(i,j-1),II2(i,j),II2(i,j+1);II2(i+1,j-1),II2(i+1,j),II2(i+1,j+1)]; II2(i,j)=sum(sum((p.*w2)*k2)); a=(p.*w1); pp=sort(reshape(a,1,9)); II22(i,j)=pp(5); endendsubplot(3,3,6);imshow(uint8(II2));title('normal jyzs.png');subplot(3,3,9);imshow(uint8(II22));title('normal 中值滤波 jyzs.png');
参考网址:http://blog.csdn.net/sinat_24648637/article/details/49661669
http://blog.csdn.net/taoyanqi8932/article/details/52224082
0 0
- 图像处理之图像的平滑与锐化
- 数字图像处理-图像的平滑和锐化。
- 图像处理-平滑和锐化
- matlab 图像的平滑和锐化
- 图像处理之图像平滑
- 图像处理之USM锐化
- 【数字图像处理】七.MFC图像增强之图像普通平滑、高斯平滑、Laplacian、Sobel、Prewitt锐化详解
- 彩色图像的锐化处理
- QT 实现图像处理-傅立叶变换、傅立叶反变换、平滑、锐化与模板匹配
- QT实现图像处理-傅立叶变换、傅立叶反变换、平滑、锐化与模板匹配
- Opencv学习笔记(四)--图像处理平滑,锐化操作
- 图像处理与matlab实例之图像平滑(一)
- 图像处理之平滑处理
- 图像处理的三个基本操作——灰度化、锐化、平滑
- opengles图像处理之图片锐化处理
- 图像预处理之平滑处理
- OpenCV之图像平滑处理
- OpenCV图像处理篇之图像平滑
- 在aarch64主机中使用qemu启动虚机2--使用TAP网络模式
- 161206 - Ordinary least square, ridge regression and weighted least square 最小二乘,岭回归,加权最小二乘
- Xc-C++基础实例系列
- VIM操作
- Ubuntu修改源
- 图像处理之图像的平滑与锐化
- php,ldap登录例子
- 创业者看成功故事有用吗?有些东西,你真的学不来
- NGUI研究院之三种方式监听NGUI的事件方法
- Xc-C++_STL实例系列
- 利用 Myeclipse 生成 Web Service 客户端代码
- 安装protobuf Python支持
- 从VSS到SVN再到Git 记Git的基本操作
- Java Iterator 和 ListIterator 迭代器 以及 并发修改异常 ConcurrentModificationException