1 简介
模型参考这里。
2 源代码
%文件名称: CNN_Edge_extraction.m
%文件描述: 基于CNN的灰度图像边缘提取的程序
%创
%参考文献: 《基于细胞神经网络的图像边缘提取算法研究》
%
clear;
clc;
I=imread('C:\Users\lenovo\Desktop\d083bc186611b136d0e72beeccee8850\CNN边缘检测\lena.jpg');
[c,d]=size(I);
x=zeros(c,d);
for i=1:c;
for j=1:d;
n(i,j)=double(I(i,j))/255;
s(i,j)=2*(n(i,j)-0.5);
end
end
A=[0 0 0;
0 1.600 0;
0 0 0];
B=[-1.004 -1.004 -1.004;
-1.004 10.000 -1.004;
-1.004 -1.004 -1.004];
z=-1.405;
% A=[0 0 0;
% 0 2 0;
% 0 0 0];
% B=[-1 -1 -1;
% -1 8 -1;
% -1 -1 -1];
% z=-0.5;
% A=[0 0 0;
% 0 9.926055 0;
% 0 0 0];
% B=[-1.124332 -1.124332 -1.124332;
% -1.124332 9.670411 -1.124332;
% -1.124332 -1.124332 -1.124332];
% z=-1.915585;
circlenumber=0; %circlenumber是细胞神经网络要循环的次数
judge=0; %judge是判断网络稳定的标志,
%0是网络未达到稳定的标志,
%1表示网络已经稳定了
%当所有的状态x(i,j)的绝对值都大于1的时候,就认为网络趋于稳定
%下面是计算过程,直接迭代到完全收敛
while judge==0
circlenumber=circlenumber+1;
for i=2:c-1 %求出各个输出的值
for j=2:d-1
if x(i,j)>=1 %求f(x(i,j))的值,设置为f(i,j)
f(i,j)=1; %表示正向稳定时,取白色
elseif x(i,j)<=-1
f(i,j)=-1; %表示负向稳定时,取黑色
else
f(i,j)=x(i,j);%未稳定时,将状态直接输出
end
y(i,j)=f(i,j); %无论是否稳定,都将结果先直接输出
end
end
%其中边界条件是在图像外面的像素都设置为0;
%这里是将上面两行,下面两行,还有左右两行都设置成边界
%正式的处理单元是中间2到257行和2到257列的部分
for i=2:c-1
for j=2:d-1
xn(i,j)=z+A(2,2)*y(i,j)+B(2,2)*s(i,j)+B(1,1)*s(i-1,j-1)...
+B(1,2)*s(i-1,j)+B(1,3)*s(i-1,j+1)+B(2,1)*s(i,j-1)+B(2,3)...
*s(i,j+1)+B(3,1)*s(i+1,j-1)+B(3,2)*s(i+1,j)+B(3,3)*s(i+1,j+1);
%以上语句对应于CNN的公式,详见《细胞网络神经动力学》p5
end
end
%以下判断是不是已经全部收敛了,如果全部收敛了,就置judge=1
judge=1;
for i=2:c-1
for j=2:d-1
if abs(xn(i,j))<1
judge = 0;
end
end
end
%以下将xn(i,j)赋值给状态x(i,j)
for i=2:c-1
for j=2:d-1
x(i,j)=xn(i,j);
end
end
end
%接下去跳出wile循环,表示已经稳定了
%以下进行边缘的确定,f(i,j)=1对应的像素值设为1,
%f(i,j)=-1对应的像素值设为0
a=zeros(c,d);
for i=2:c-1
for j=2:d-1
if x(i,j)>=1
a(i,j)=1;
elseif x(i,j)<=-1
a(i,j)=0;
end
end
end
%以下输出原始图像和边缘图像a
figure(1);imshow(I);
title('原始图像');
%以下输出y(i,j)状态图
figure(2);
imshow(a);
title('lena的CNN状态图');
imwrite(a,'lena_cnn.png','png');
3 仿真结果

4 参考文献
[1]张闯, 迟健男, 张朝晖,等. 一种基于CNN的彩色图像边缘检测算法[J]. 计算机工程与应用, 2008(21):17-19.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。











