当前位置: 首页 > news >正文

【图像分割】基于遗传算法的进化聚类技术对彩色图像进行分割(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 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代码实现

相关文章:

  • Mybatis 拦截器 说明和使用 (二)
  • Vue.js 组件精讲(目前已有6614人一起学习)
  • 【Spring】一文带你吃透IOC技术
  • I2C知识大全系列二 —— I2C硬件及时序
  • Python基础入门(持续更新中)
  • 【预测模型-SVM预测】基于粒子群算法结合支持向量机SVM实现Covid-19风险预测附matlab代码
  • 初阶数据结构 二叉树常用函数 (二)
  • 【正点原子I.MX6U-MINI应用篇】4、嵌入式Linux关于GPIO的一些操作
  • 【C语言】解题训练
  • 【蓝桥杯国赛真题04】python输出平方 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • RabbitMQ 集群部署及配置
  • python @classmethod详解
  • JSP超市管理系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc
  • FreeRTOS 软件定时器的使用
  • gitlab-ci配置详解(一)
  • gulp 教程
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaWeb(学习笔记二)
  • Median of Two Sorted Arrays
  • Nodejs和JavaWeb协助开发
  • SAP云平台里Global Account和Sub Account的关系
  • Theano - 导数
  • 阿里云应用高可用服务公测发布
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 如何进阶一名有竞争力的程序员?
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 深度学习入门:10门免费线上课程推荐
  • 使用 @font-face
  • 项目实战-Api的解决方案
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 最近的计划
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (3)STL算法之搜索
  • (4)(4.6) Triducer
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (一)appium-desktop定位元素原理
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .Net Winform开发笔记(一)
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 设计一套高性能的弱事件机制
  • :中兴通讯为何成功
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @private @protected @public
  • @ResponseBody
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [android学习笔记]学习jni编程
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [C语言]编译和链接
  • [Docker]五.Docker中Dockerfile详解