资源简介
利用基于cnn的方法,对灰度图像进行边缘检测,通过matlab实现程序。
代码片段和文件信息
%接受并显示原始图像
I=imread(‘cameraman.tif‘);%接受输入数据,存放在矩阵I中
subplot(121)imshow(I); %画出初始图像
title(‘待处理的图像‘);
%将输入像素值,标准化到区间[-1,1]
[cd]=size(I);
X=zeros(cd); %初始状态
for i=1:c
for j=1:d
N(ij)=double(I(ij)/255);
BW(ij)=2*(N(ij)-0.5);
end
end
%考虑边界情况,扩大矩阵
M=zeros(c+2d+2);
for i=2:c+1
for j=2:d+1
M(ij)=BW(i-1j-1);
end
end
%细胞神经网络中参数的设置,网络的功能不同参数的设置也就不同
A=[000;040;000]; %r=1的反馈算子对应的模板
B=[-1.5-1.5-1.5;-1.512-1.5;-1.5-1.5-1.5]; %r=1的控制算子对应的模板
C=1; %电容的大小
R=1; %电阻的大小
IC=0.4; %电流的大小
h=1; %步长大小
%判定网络是否稳定和网络的迭代计算
circlenumber=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
judge=0;
while judge==0 %dt表示二次迭代间最大的绝对值差,1e-3表示门限
circlenumber=circlenumber+1;
for i=1:c %开始对每个细胞进行迭代
for j=1:d
评论
共有 条评论