【图像分割】基于区域生长算法和Kmean聚类算法实现图像分割附matlab代码

简介: 【图像分割】基于区域生长算法和Kmean聚类算法实现图像分割附matlab代码

1 简介

区域生长算法的基本思想是将具有相似性质(例如,颜色,亮度,纹理)的像素集合起来构成区域。具体实现时先确定一组种子像素作为生长的起点, 再将种子像素周围邻域中与种子像素有相同或相似性质的像素 (根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。并将这些新像素当作新的种子像素继续进行上面的过程, 直到再没有满足条件的像素可被包括进来为止。

2 部分代码

function [hp,hpind,minval,minind] = heap_pop(hp,hpind)%pop min value in heapif length(hp)==0    disp('empty heap, no pop operation')    return;endl = length(hp);minval = hp(1);minind = hpind(1);hp(1) = hp(l);hpind(1) = hpind(l);l = l-1;hp = hp(1:l);hpind = hpind(1:l);curnode = 1;halfl = fix(l/2);while (curnode<=halfl)    sonnode1 = curnode*2;    sonnode2 = sonnode1 +1;    val1 = hp(curnode);    val2 = hp(sonnode1);    if l>=sonnode2        val3 = hp(sonnode2);    else        val3 = inf;    end    if val1>val2        if val2>val3            %1>2>3,move3            stat=3;        else            %1>2,3>2,  move 2            stat =2;        end    else        if val1>val3            %2>1>3  move 3            stat = 3;        else            %2>1,3>1, stop            stat = 0;        end    end    if (stat==0)        break;    elseif (stat==3)        %swap value,1<->3        hp(sonnode2) = val1;        hp(curnode) = val3;        %swap heapind        tmp = hpind(curnode);        hpind(curnode) = hpind(sonnode2);        hpind(sonnode2) = tmp;        curnode = sonnode2;    else % stat==2        %swap value,1<->2        hp(sonnode1) = val1;        hp(curnode) = val2;        %swap heapind        tmp = hpind(curnode);        hpind(curnode) = hpind(sonnode1);        hpind(sonnode1) = tmp;        curnode = sonnode1;    endend

3 仿真结果

4 参考文献

[1]谢理训, 杨宜民. 基于改进区域生长算法的彩色图像分割[J]. 微计算机信息, 2009(18):3.

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

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

相关文章
|
4月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
290 0
|
4月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
166 0
|
4月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
235 8
|
4月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
251 8
|
4月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
171 8
|
4月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
266 8
|
4月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
457 0
|
4月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
309 2
|
5月前
|
传感器 机器学习/深度学习 编解码
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
MATLAB|主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性
292 3
|
5月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
214 6

热门文章

最新文章