博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matlab实现西格玛(Sigma)平滑滤波
阅读量:6886 次
发布时间:2019-06-27

本文共 1018 字,大约阅读时间需要 3 分钟。

%Sigma 西格玛平滑滤波clc;clear *;F=rgb2gray(imread('img\girl.jpg')); figure,imshow(F); title('originImage');F=imnoise(F,'salt & pepper',0.01); %Add salt noisefigure,imshow(F); title('saltNoise');F=double(F); [row,col]=size(F);for i=3:row-2 %use templet 5X5for j=3:col-2Templet=[F(i-2,j-2) F(i-2,j-1) F(i-2,j) F(i-2,j+1) F(i-2,j+2)F(i-1,j-2) F(i-1,j-1) F(i-1,j) F(i-1,j+1) F(i-1,j+2)F(i,j-2) F(i,j-1) F(i,j) F(i,j+1) F(i,j+2)F(i+1,j-2) F(i+1,j-1) F(i+1,j) F(i+1,j+1) F(i+1,j+2)F(i+2,j-2) F(i+2,j-1) F(i+2,j) F(i+2,j+1) F(i+2,j+2)];Trows = reshape(Templet,5*5,1); %将模板转换成1列theta=std2(Trows);delta=2*theta;count_1=0;count_0=0;for m=1:5for n=1:5A=Templet(m,n)-delta;B=Templet(m,n)+delta;if A<=Templet(3,3)<=BSigma(m,n)=1;count_1=count_1+1;elseSigma(m,n)=0;count_0=count_0+1;endendendK=3;N=2;Sum=0;Num=0;if count_1>=Kfor m=1:5for n=1:5Sum=Sum+Sigma(m,n)*Templet(m,n);Num=Num+Sigma(m,n);endendF(i,j)=Sum/Num;elseF(i,j)=mean(Trows);endendendfigure,imshow(uint8(F)); title('Sigma');

  

转载于:https://www.cnblogs.com/Qsir/p/5802028.html

你可能感兴趣的文章
LoadRunner学习第三天
查看>>
[转]缺少 ; (在标识符 PhysicalMediumType 的前面)
查看>>
redis
查看>>
C++11中的tuple应用:让函数返回多个值
查看>>
JSON.parse()和JSON.stringify()
查看>>
MySQL自学2018/03/30-DML语句
查看>>
Appium Desktop Inspector 安卓真机配置(Windows)
查看>>
vue+webpack 遇到的问题总结
查看>>
iOS开发多线程篇—GCD介绍
查看>>
2011百度校园招聘笔试题 C++类-附原创答案
查看>>
CI MSBuild env 2
查看>>
db2命令
查看>>
Oracle 补丁体系 及 opatch 工具 介绍
查看>>
11g 如何添加,替换,移除,迁移 OCR ?
查看>>
物化视图基础概念、mview跨库迁移表
查看>>
Python学习-------变量和简单的数据类型(String)
查看>>
IP协议
查看>>
三表联查
查看>>
ubuntu redis 安装 &基本命令
查看>>
迅速读懂:Effective STL (二)
查看>>