1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y5qWk5hv
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
脉冲耦合神经网络(PCNN-Pulse Coupled Neural Network)与传统神经网络相比,有着根本的不同。PCNN有生物学的背景,它是依据猫、猴等动物的大脑皮层上的同步脉冲发放现象提出的。PCNN有着广泛的应用,可应用于图像分割,边缘检测、细化、识别等方面。
4.部分源码
Weight=[0.07 0.1 0.07;0.1 0 0.1;0.07 0.1 0.07];
WeightLI2=[-0.03 -0.03 -0.03;-0.03 0 -0.03;-0.03 -0.03 -0.03];
d=1/(1+sum(sum(WeightLI2)));
%%%%%%测试权值%%%%%%
WeightLI=[-0.03 -0.03 -0.03;-0.03 0.5 -0.03;-0.03 -0.03 -0.03];
d1=1/(sum(sum(WeightLI)));
%%%%%%%%%%%%%%%%%%
Beta=0.4;
Yuzhi=245;
%衰减系数
Decay=0.3;
[a,b]=size(X);
V_T=0.2;
%门限值
Threshold=zeros(a,b);
S=zeros(a+2,b+2);
Y=zeros(a,b);
%点火频率
Firate=zeros(a,b);
n=1;
%统计循环次数
count=0;
Tempu1=zeros(a,b);
Tempu2=zeros(a+2,b+2);
%%%%%%图像增强部分%%%%%%
Out=zeros(a,b);
Out=uint8(Out);
for i=1:a
for j=1:b
if(i==1|j==1|i==a|j==b)
Out(i,j)=X(i,j);
else
H=[X(i-1,j-1) X(i-1,j) X(i-1,j+1);
X(i,j-1) X(i,j) X(i,j+1);
X(i+1,j-1) X(i+1,j) X(i+1,j+1)];
temp=d1*sum(sum(H.*WeightLI));
Out(i,j)=temp;
end
end
end
figure(2);
imshow(Out);
%%%%%%%%%%%%%%%%%%%
for count=1:30
for i0=2:a+1
for i1=2:b+1
V=[S(i0-1,i1-1) S(i0-1,i1) S(i0-1,i1+1);
S(i0,i1-1) S(i0,i1) S(i0,i1+1);
S(i0+1,i1-1) S(i0+1,i1) S(i0+1,i1+1)];
L=sum(sum(V.*Weight));
V2=[Tempu2(i0-1,i1-1) Tempu2(i0-1,i1) Tempu2(i0-1,i1+1);
Tempu2(i0,i1-1) Tempu2(i0,i1) Tempu2(i0,i1+1);
Tempu2(i0+1,i1-1) Tempu2(i0+1,i1) Tempu2(i0+1,i1+1)]; F=X(i0-1,i1-1)+sum(sum(V2.*WeightLI2));
%保证侧抑制图像无能量损失
F=d*F;
U=double(F)*(1+Beta*double(L));
Tempu1(i0-1,i1-1)=U;
if U>=Threshold(i0-1,i1-1)|Threshold(i0-1,i1-1)<60
T(i0-1,i1-1)=1;
Threshold(i0-1,i1-1)=Yuzhi;
%点火后一直置为1
Y(i0-1,i1-1)=1;
else
T(i0-1,i1-1)=0;
Y(i0-1,i1-1)=0;
end
end
end
Threshold=exp(-Decay)*Threshold+V_T*Y;
%被激活过的像素不再参与迭代过程
if n==1
S=zeros(a+2,b+2);
else
S=Bianhuan(T);
end
n=n+1;
count=count+1;
Firate=Firate+Y;
figure(3);
imshow(Y);
Tempu2=Bianhuan(Tempu1);
end
Firate(find(Firate<10))=0;
Firate(find(Firate>=10))=10;
figure(4);
imshow(Firate);
A129