【图像分割】基于遗传算法的进化聚类技术对彩色图像进行分割(Matlab代码实现)
💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
目录
💥1 概述
图像分割是图像分析和模式识别的首要问题,也是图像处理的经典难题之一,它是图像分析和模式识别系统的重要组成部分,并决定图像的最终分析质量和模式识别的判别结果。所谓图像分割是指将图像中具有特殊意义的不同区域分开来,并使这些区域相互不相交,且每个区域应满足特定区域的一致性条件。
由于彩色图像提供了比灰度图像更为丰富的信息,因此彩色图像处理正受到人们越来越多的关注。彩色图像分割是彩色图像处理的重要问题,彩色图像分割可以看成是灰度图像分割技术在各种颜色空间上的应用,为了使该领域的研究人员对当前各种彩色图像分割方法有较全面的了解,因此本文基于遗传算法(聚类)进行彩色图像分割.
📚2 运行结果
使用基于遗传算法的图像分割 进化聚类
目标函数:在聚类距离内 使用距离测量
测量图像特征:3个特征(R,G,B值)
它还由基于矩阵的输入样本示例组成 15 和 2 特征
部分代码:
clc;
clear;
close all;
%% Problem Definition
X = [1 1.5;2 2.5;3 3.5;1 1.5;2 2.5;3 3.5;1 1.5;2 2.5;3 3.5;1 1.5;2 2.5;3 3.5;1 1.5;2 2.5;3 3.5]; % [15x2]
k = 3; % no. of clusters
CostFunction=@(m) ClusteringCost(m, X); % Cost Function m = [3x2] cluster centers
VarSize=[k size(X,2)]; % Decision Variables Matrix Size = [3 2]
nVar=prod(VarSize); % Number of Decision Variables = 6
VarMin= repmat(min(X),1,k); % Lower Bound of Variables [3x1] of[1x2] = [3x2]
VarMax= repmat(max(X),1,k); % Upper Bound of Variables [3x1] of[1x2] = [3x2]
% Setting the Genetic Algorithms
ga_opts = gaoptimset('display','iter');
% running the genetic algorithm with desired options
[centers, err_ga] = ga(CostFunction, nVar,[],[],[],[],VarMin,VarMax,[],[],ga_opts);
m=centers;
g=reshape(m,2,3)'; % create a cluster center matrix(3(clusters) points in 2(features) dim plane)=[3x2]
d = pdist2(X, g); % create a distance matrix of each data points in input to each centers = [15x3]
% Assign Clusters and Find Closest Distances
[dmin, ind] = min(d, [], 2)
% ind value gives the cluster number assigned for the input = [15x1]
% Sum of Within-Cluster Distance
WCD = sum(dmin);
z=WCD; % fitness function contain sum of each data point to their corresponding center value set (aim to get it minimum)
% z = [1(inputs combinations) x 1]
🎉3 参考文献
[1][林开颜,吴军辉,徐立鸿.彩色图像分割方法综述[J].中国图象图形学报:A辑,2005,10(1):1-10
[2]Selva (2022). Color Image segmentation using genetic algorithm(clustering)
👨💻4 Matlab代码实现
相关文章
- Caffe+Matlab'hole
- matlab工作空间,变量的保存和载入
- matlab 点云最小二乘拟合二次曲面
- 基于优化自适应微分电导算法的最大功率点跟踪改进最大功率点跟踪技术(Matlab代码实现)
- 计及调度经济性的光热电站储热微网模型容量配置方法【IEEE30节点】(Matlab代码实现)
- 考虑电能交互的冷热电区域多微网系统双层多场景协同优化配置(Matlab代码实现)
- 两相障碍问题的FEM近似及其后验误差估计(Matlab代码实现)
- 基于多目标粒子群优化算法的冷热电联供型综合能源系统运行优化(Matlab代码实现)
- Matlab|基于时间序列预测的粒子群优化混合非线性回归和自回归技术的比较
- 【雷达检测】基于复杂环境下的雷达目标检测技术(Matlab代码实现)
- 【信号处理】天线分集与空时编码技术——Alamouti空时块码(matlab代码实现)
- 【形状记忆合金的本构模型】基于 FEM实现与速率无关的耗散固体研究(Matlab代码实现)
- 【MATLAB】MATLAB 仿真模拟调制系统 — FM 系统
- m基于matlab的DQPSK调制解调技术的仿真
- 基于Graph-Cut算法的图像目标分割matlab仿真
- 基于matlab的医学成像技术滤波反投影仿真,包括直接反投影,S-L滤波,R-L滤波,Lewitt滤波
- 灰狼算法和粒子群算法比较(附完整Matlab代码)——可应用于电气期刊论文
- 【状态估计】基于PMU的多回路配电系统状态估计(Matlab代码实现)
- 学术分享 | 清华大学 康重庆:电力系统碳计量技术与应用(Matlab代码实现)
- m基于无线传感网的无源定位技术matlab仿真研究
- 基于MFCC特征提取和神经网络的语音信号识别算法matlab仿真