1 简介
1950s数字图像处理产生,从此学术界对它的研究连绵不绝。十多年之后,数字图像的处理被独立出来成了一门课程。图像分割技术是处理图像的一种基础技术,在图像处理领域中占了重要地位,且在图像工程、模式识别、计算机视觉等方面起着重要作用。本文正是以图像分割为研究课题,以如何能更好地图像进行省时而有效的分割为研究目的,提出了基于最大熵的脉冲耦合神经网络(PulseCoupled Neural Networks,简称PCNN)的方法。众所周知,有效的分割方法有利于理解图像的本质和后续的研究工作等,因此本文分割方法的研究是具有一定意义的。 传统的处理图像的分割问题的方法有:基于灰度级算术均值法、基于熵与直方图法、基于最大类间方差法、基于边缘的检测分割法,基于阈值的分割法,基于边界提取的分割法,基于区域的分割法,基于特定理论的分割法。同时,当然少不了产生的一些相关模型,如健壮尺度区域模型,二维经典C-V模型,尺度区域拟合模型,三维C-V模型,健壮统计三维C-V模型,几何主动轮廓模型等。本文将出基于脉冲耦合神经网络的方法。此方法对上述分割数字图像时的不足具有一定的弥补作用。用PCNN方法分割数字图像的模型中,以神经元为单元,构成二维的一层的神经元列。PCNN模型中神经元的数目一致于像素数目,每个神经元一一对应于每个像素。根据PCNN的脉冲传播特性而引起的同步脉冲现象来实现图像分割。
2 部分代码
function [Edge,Numberofaera]=pcnn(X)
% 功能:采用PCNN算法进行边缘检测
% 输入:X—输入的灰度图像
% 输出:Edge—检测到的 Numberofaera—表明了在各次迭代时激活的块区域
X=imread('lena.JPG');
figure(1);
imshow(X);
X=double(X);
% 设定权值
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);
%%%%%%图像增强部分%%%%%%
T=Jiabian(X);
Y=zeros(a,b);
W=zeros(a,b);
for i=2:a+1
for j=2:b+1
if (T(i,j)==1)&((T(i-1,j)==0&T(i+1,j)==0)|(T(i,j-1)==0&T(i,j+1)==0)|(T(i-1,j-1)==0&T(i+1,j+1)==0)|(T(i+1,j-1)==0&T(i-1,j+1)==0))
Y(i-1,j-1)=-n;
end
end
end
3 仿真结果
4 参考文献
[1]刘正君. 基于脉冲耦合神经网络的图像分割研究. Diss. 哈尔滨工程大学, 2008.
5 MATLAB代码与数据下载地址
见博客主页