PCNN去噪函数
2016-06-19 20:06
330 查看
function I=denoise_gj(X,c)%PCNN检测噪声并去除(子函数)if nargout == 1 c=2;end[w,h]=size(X);Weight =[0.707 1 0.707;1 0 1;0.707 1 0.707];beta=0.1;alpha=0.1;threshold0=280;threshold=zeros(w,h);Y = zeros(w+1,h+1);for c1=c:-1:1 for i=2:w-1 for j=2:h-1 F=X(i,j); V=[Y(i-1,j-1)
Y(i-1,j) Y(i-1,j+1); Y(i,j-1) Y(i,j) Y(i,j+1); Y(i+1,j-1) Y(i+1,j) Y(i+1,j+1)]; L=sum(sum(V.*Weight)); U=double(F)*(1+beta*L); if U>threshold(i,j) %点火产生脉冲 Y(i,j)=1; if c1~=2 M=medfilt2(X(i-1:i+1,j-1:j+1)); X(i,j)=M(5); end else Y(i,j)=0; end threshold(i,j)=exp(-alpha)*threshold(i,j)+threshold0*Y(i,j);
end endendI=X;end
Y(i-1,j) Y(i-1,j+1); Y(i,j-1) Y(i,j) Y(i,j+1); Y(i+1,j-1) Y(i+1,j) Y(i+1,j+1)]; L=sum(sum(V.*Weight)); U=double(F)*(1+beta*L); if U>threshold(i,j) %点火产生脉冲 Y(i,j)=1; if c1~=2 M=medfilt2(X(i-1:i+1,j-1:j+1)); X(i,j)=M(5); end else Y(i,j)=0; end threshold(i,j)=exp(-alpha)*threshold(i,j)+threshold0*Y(i,j);
end endendI=X;end
相关文章推荐
- 基于PCNN的图像增强matlab代码
- 脉冲耦合神经网络(PCNN)的matlab实现 推荐
- 基于PCNN的图像分割的matlab实现 推荐
- [EMNLP2015]Distant supervision for Relation Extraction via Piecewise Convolutional Neural Networks
- PHP数组操作——获取数组最后一个值的方法
- Exynos4412裸机开发 —— UART
- Poj 3692 Kindergarten【最大团】
- LINUX虚拟服务器--LVS的搭建
- [没事瞎想]素数问题
- Mac Maven 3.3.9 安装与配置
- wireshark抓包分析
- 自定义头部ViewPagerIndicator
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- Exynos4412裸机开发 —— A/D转换器
- 使用Spring Boot创建一个应用
- Exynos4412 裸机开发 —— IIC总线
- DHTML( radio的综合使用---模拟网上的调查问卷)
- 20145240《Java程序设计》课程总结