【图像分割】基于pcnn脉冲神经网络结合区域生长算法实现图像分割附matlab代码

简介: 【图像分割】基于pcnn脉冲神经网络结合区域生长算法实现图像分割附matlab代码

 

1 简介

1950s数字图像处理产生,从此学术界对它的研究连绵不绝。十多年之后,数字图像的处理被独立出来成了一门课程。图像分割技术是处理图像的一种基础技术,在图像处理领域中占了重要地位,且在图像工程、模式识别、计算机视觉等方面起着重要作用。本文正是以图像分割为研究课题,以如何能更好地图像进行省时而有效的分割为研究目的,提出了基于最大熵的脉冲耦合神经网络(PulseCoupled Neural Networks,简称PCNN)的方法。众所周知,有效的分割方法有利于理解图像的本质和后续的研究工作等,因此本文分割方法的研究是具有一定意义的。传统的处理图像的分割问题的方法有:基于灰度级算术均值法、基于熵与直方图法、基于最大类间方差法、基于边缘的检测分割法,基于阈值的分割法,基于边界提取的分割法,基于区域的分割法,基于特定理论的分割法。同时,当然少不了产生的一些相关模型,如健壮尺度区域模型,二维经典C-V模型,尺度区域拟合模型,三维C-V模型,健壮统计三维C-V模型,几何主动轮廓模型等。本文将出基于脉冲耦合神经网络的方法。此方法对上述分割数字图像时的不足具有一定的弥补作用。用PCNN方法分割数字图像的模型中,以神经元为单元,构成二维的一层的神经元列。PCNN模型中神经元的数目一致于像素数目,每个神经元一一对应于每个像素。根据PCNN的脉冲传播特性而引起的同步脉冲现象来实现图像分割。

image.gif编辑

2 部分代码

function J = My_RegionGrowing(I, init_pos, reg_maxdist)    [row, col] = size(I);               % 输入图像的维数     J = zeros(row, col);               % 输出    x0 = init_pos(1);                   % 初始点    y0 = init_pos(2);    reg_mean = I(x0, y0);       % 生长起始点灰度值    J(x0, y0) = 1;                    % 生长起始点设置为白色    reg_sum = reg_mean;                     % 符合生长条件的灰度值总和    reg_num = 1;                                  % 符合生长条件的点的个数    count = 1;                                       % 每次判断周围八个点中符合条件的数目    reg_choose = zeros(row*col, 2);      % 记录已选择点的坐标    reg_choose(reg_num, :) = init_pos;    num = 1;               % 第一个点       while count > 0        s_temp = 0;                  % 周围八个点中符合条件的点的灰度值总和        count = 0;        for k = 1 : num      % 对新增的每个点遍历,避免重复            i = reg_choose(reg_num - num + k, 1);            j = reg_choose(reg_num - num +k, 2);            if J(i, j) == 1 && i > 1 && i < row && j > 1 && j < col   % 已确定且不是边界上的点                % 八邻域                for u =  -1 : 1                          for v = -1 : 1                        % 未处理且满足生长条件的点                        if J(i + u, j + v) == 0 && abs(I(i + u, j + v) - reg_mean) <= reg_maxdist                            J(i + u, j + v) = 1;           % 对应点设置为白色                            count = count + 1;                            reg_choose(reg_num + count, :) = [i + u, j + v];                            s_temp = s_temp + I(i + u, j + v);   % 灰度值存入s_temp中                        end                    end                end            end        end        num = count;                                      % 新增的点        reg_num = reg_num + count;              % 区域内总点数        reg_sum = reg_sum + s_temp;            % 区域内总灰度值        reg_mean = reg_sum / reg_num;         % 区域灰度平均值    end

3 仿真结果

image.gif编辑

4 参考文献

[1]黄国峰. 基于脉冲耦合神经网络的图像分割算法研究[D]. 西安电子科技大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

5 代码下载

image.gif编辑

相关文章
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
1022 0
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
535 3
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
579 8
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
773 8
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
789 2
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
1362 0
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
624 0
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
502 0

热门文章

最新文章