当前位置:首页>开发>正文

用matlab编程实现图像分割 脉冲耦合神经网络分割图片如何做

2023-04-15 00:14:46 互联网 未知 开发

 用matlab编程实现图像分割 脉冲耦合神经网络分割图片如何做

用matlab编程实现图像分割

A=imread(D:MATLABR2006b oolboximagesimdemoscameraman.tif)
subplot(2,2,1)
imshow(A)
m=size(A)
A1=A(:,1:m/2)
subplot(2,2,3)
imshow(A1)
A2=A(:,m/2:m)
subplot(2,2,4)
imshow(A2)

结果:
http://hi.baidu.com/chemical_engineering/album/item/78db349b5b0becb4c8eaf445.html

脉冲耦合神经网络分割图片如何做

clear all
close all

I=imread(q1.bmp)
figure,imshow(I)
I1=im2double(I)
[m,n]=size(I)
al=0.5ae=0.06af=5vf=0.2vl=0.2ve=0.12B=0.1 % 设定PCNN的参数
W=[0.0277 0.111 0.0277
0.111 0.4452 0.111
0.0277 0.111 0.0277]
M=W
Y=zeros(140,140)
F=YL=YU=YE=Y
for i=1:6 %可以将循环次数为27 31 41 51 81 101 然后比较分割结果
F=exp(-af)*F vf*conv2(Y,M,same) I1
L=exp(-al)*L vl*conv2(Y,W,same)
U=F.*(1 B*L)
Y=double(U>E)
E=exp(-ae)*E ve*Y
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p=imhist(Y(:))
p(p==0)=[]
p=p./numel(Y)
H(1,i)=-sum(p.*log2(p))
end
figure,imshow(Y)

最新文章