一.内容

对一幅灰度图像f(x,y):

(1)对f(x,y)加高斯白噪声和椒盐噪声;

(2)分别画出原图和加噪后的图像及其各自对应的直方图;

(3)用几何均值滤波分别对加高斯噪声和椒盐噪声图进行滤波处理,并进行比较;

(4)用自适应中值滤波分别对加高斯噪声和椒盐噪声图进行滤波处理;并进行比较。

注:滤波窗口可根据需要自行设定。

二.分析

1.对f(x,y)加高斯白噪声和椒盐噪声,并画出原图和加噪后的图像及其各自对应的直方图;

temp_image = imread('lena.jpg');
I = rgb2gray(temp_image);
figure()
subplot(2,3,1)
imshow(I),title('原图');
subplot(2,3,4)
imhist(I),title('原图直方图')%显示原始图像直方图
J = imnoise(I,'salt & pepper',0.02);%椒盐噪声
subplot(2,3,2)
imshow(J),title('椒盐噪声');
subplot(2,3,5)
imhist(J),title('椒盐直方图')%显示椒盐图像直方图
G = imnoise(I,'gaussian',0.02,0.02);%高斯噪声
subplot(2,3,3)
imshow(G);title('高斯噪声');
subplot(2,3,6)
imhist(G),title('高斯直方图')%显示高斯图像直方图

2.用几何均值滤波分别对加高斯噪声和椒盐噪声图进行滤波处理,并进行比较;

几何均值滤波函数:


%gmean函数(几何均值滤波):
function f = gmean(g,m,n)g = im2double(g);f = exp(imfilter(log(g),ones(m,n),'replicate')).^(1/m/n);
end

3.用自适应中值滤波分别对加高斯噪声和椒盐噪声图进行滤波处理;并进行比较。

自适应中值滤波函数:

%RAMF函数(自适应中值滤波函数):
function f = RAMF(img)
[Im,In] = size(img);
nmin = 3;
nmax = 9;
Imf = img;
I_ex = [zeros((nmax-1)/2,In+(nmax-1));zeros(Im,(nmax-1)/2),img,zeros(Im,(nmax-1)/2);zeros((nmax-1)/2,In+(nmax-1))];
for x = 1:Im     for y = 1:In          for n = nmin:2:nmax                                Sxy =
I_ex(x+(nmax-1)/2-(n-1)/2:x+(nmax-1)/2+(n-1)/2,y+(nmax-1)/2-(n-1)/2:y+(nmax-1)/2+(n-1)/2);                  Smax = max(max(Sxy));%求出窗口内像素的最大值                 Smin = min(min(Sxy));%求出窗口内像素的最小值               Smed = median(median(Sxy));%求出窗口内像素的中值              %判断中值是否是噪声点              if Smed > Smin && Smed < Smax                %若中值既大于最小值又小于最大值,则不是             %是,则退出该if语句,增大窗口尺寸,再次判断            %不是,则判断该点的原值是不是噪声点                 if Imf(x,y) <= Smin || Imf(x,y) >= Smax                      %若该点的原值既大于最小值又小于最大值,则不是                  %不是,则输出原值,即不作处理                %是,则输出中值                  Imf(x,y) = Smed;                 endbreak%有输出则不再进行循环判断             endend%当n=max时,输出中值      Imf(x,y) = Smed;   end
end
f = Imf;
end

4.滤波并比较显示:

I_1 = gmean(I,3,3);J_1 = gmean(J,3,3);G_1 = gmean(G,3,3);%3*3几何均值滤波
figure()
subplot(3,2,1)
imshow(I_1);title('原图几何滤波');
subplot(3,2,3)
imshow(J_1);title('椒盐几何滤波');
subplot(3,2,5)
imshow(G_1);title('高斯几何滤波');
I_2 = RAMF(I);J_2 = RAMF(J);G_2 = RAMF(G);%自适应中值滤波
subplot(3,2,2)
imshow(I_2);title('原图自适应中值滤波');
subplot(3,2,4)
imshow(J_2);title('椒盐自适应中值滤波');
subplot(3,2,6)
imshow(G_2);title('高斯自适应中值滤波');

Matlab图像噪声处理相关推荐

  1. Matlab图像的噪声处理

    %%-------------------------Matlab图像的噪声处理------------------------- %-------------------头文件----------- ...

  2. 图像噪声(MATLAB)

    1.概念 ·所谓的图像噪声,是图像在摄取时或是传输时所受到的随机干扰信号. ·常见的有高斯噪声和椒盐噪声. (1)高斯噪声 高斯噪声是一种源于电子电路噪声和由低照明度或高温带来的传感器噪声.高斯噪声也 ...

  3. Matlab中消除图像噪声之中值滤波器:medfilt2

    Matlab中消除图像噪声之中值滤波器:medfilt2 medfilt2, matlab, 消除噪声, 中值滤波器, 椒盐噪声 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一 ...

  4. matlab波纹噪声图像的平滑,matlab图像水波纹

    %matlab图像水波纹 clear all;close all;clc; img=imread('lena.jpg'); img = im2double(img); [h, w, c]=size(i ...

  5. matlab 图像读取长宽_MATLAB图像处理基本操作

    本文中对于大多数的操作,是对数字图像处理领域中最为著名的"lena"图片进行操作的.原图如下(Figure 1): 本文中对于大多数的操作,是对数字图像处理领域中最为著名的&quo ...

  6. matlab 图像操作函数的详解

    转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...

  7. 【Matlab 图像】边缘检测算法及效果演示

    [Matlab 图像]边缘检测算法及效果演示 边缘检测 检测图像中的边缘 Matlab 代码 代码效果如下 边缘算法:robert 边缘算法:sobel prewitt 边缘算法:laplacian ...

  8. matlab soble滤波,MATLAB 图像滤波去噪分析及其应用

    MATLAB 图像滤波去噪分析及其应用 第1章 图像颜色空间相互转换与MATLAB实现 1.1 图像颜色空间原理 1.1.1 RGB颜色空间 1.1.2 YCbCr颜色空间 1.1.3 YUV颜色空间 ...

  9. MATLAB图像融合分割系统

    摘 要 图像分割是一种重要的图像分析技术.对图像分割的研究一直是图像技术研究中的热点和焦点.图像分割是一个很关键的图像分析技术,是由图像处理进到图像分析的关键步骤.它的目的就是把图像中感兴趣的那部分分 ...

最新文章

  1. the next journal submission for mechanism should be at this journal
  2. python打字案例_Python 小案例 打字练习
  3. Diango博客--23.单元测试:测试 blog 应用
  4. python os.access_os.access(path, mode)
  5. DriverMessageBean配置详解
  6. 获取roi内的xld_提升ROI是王道,这几种推广获客渠道与形式你还不知道?
  7. Windows Azure Azure 简介
  8. python mql4跟单_MT4本地跟单EA设置教程 -
  9. 全自动抠图换背景软件下载_智能抠图换背景软件-手挥自动背景更换软件
  10. 安装CommonAPI
  11. 读书笔记——《一个人的朝圣》
  12. 日记侠:你的文章为什么阅读量会那么高?
  13. 王之泰201771010131《面向对象程序设计(java)》第三周学习总结
  14. 计算机excel还原,3种方法找回电脑上已删除的Excel文档
  15. 《 孙子兵法 》“势”论的美学探析
  16. win10安装配置JDK11
  17. 如何批量查询快递的签收状态?
  18. android manifest相关属性
  19. android新闻列表,Android中实现简单的新闻列表
  20. 利用OpencvSharp计算工件移动后,机器人旋转中心(抓取位置)

热门文章

  1. 深入理解计算机系统lab2
  2. src路径中添加math.random()
  3. linux(四)文本编辑
  4. 计算机图形学入门(一)-线性代数部分知识1
  5. 通讯录系统php源代码,eml企业通讯录管理系统经典版 PHP版 v5.4.14
  6. 【Oracle】Cursor(游标)
  7. Wio Terminal 读取 AHT10 传感器
  8. 利用KAD算法进行海量数据处理
  9. 如何在忘记linux密码的情况下修改密码
  10. PHP cURL 返回 HTTP/1.1 100 Continue