【图像分割】模糊聚类算法FCM图像分割【含Matlab源码 084期】

news2024/11/23 8:27:54

⛄一、模糊聚类算法FCM简介

1 前言
图像分割是图像进行后续分析处理的基础,它将图像分成不同特征部分并获得所需目标,广泛应用于诸多领域.彩色多目标图像具有更为丰富的图像信息,目标色彩较多,且同一色彩的目标有时具有不连续性,图像分割方法中比较常见的有阈值法、边缘检测法以及边界跟踪法等,这类方法并不能取得有效的分割.近年来不少学者用聚类算法对图像进行分割,并取得了一定成果.

随着模糊理论的出现,模糊C均值聚类(FCM)分割算法由于其高效简捷得到了广泛应用.它能够将所需分割图像的信息进行很好的保留,但FCM聚类会出现局部最优、对噪声和孤立点敏感等.基于此,国内外学者提出了许多FCM改进算法和相关图像处理方法.许超结合粒子群算法和FCM进行图像分割,能够实现彩色图像的准确分割,比FCM分割结果更好.胡学刚等人针对FCM聚类的不足,采用区域分裂合并法实现了彩色图像的自适应分割,取得了良好的分割结果,并提高了抗噪性能.邱磊等人将图像在HIS颜色空间采用邻域均值进行FCM聚类,实现了噪声图像的处理.邓廷权等人将模糊Histon直方图用于模糊C聚类中实现了图像的自适应模糊C均值聚类(FCM)算法。

2 模糊C均值聚类(FCM)算法
FCM算法是J.C.Bezdek[6]引入的基于模糊理论的常用聚类算法,它使类内数据对象的相似度达到最大,类间数据对象的相似度达到最小.它是在传统划分C均值聚类的基础上进行的改进,根据图像像素隶属聚类中心的程度实现样本的划分,在图像分割中得到了较普遍的使用.但该算法起始聚类中心具有不确定性,图像聚类效果对其敏感,会出现局部最优现象.
FCM算法思想:对图像聚类中心进行初始化后,根据公式求解图像中各像素对聚类中心的隶属度与新的聚类中心,以使目标准则函数实现最优.
FCM算法的目标函数为:
在这里插入图片描述
FCM算法流程:
1)初始化vi,c和m;
2)根据公式(3)更新隶属度矩阵U.
3)根据公式(4)更新聚类中心.
4)不断迭代直到‖vi+1-vi‖<ε(ε>0),反之继续执行步骤2).

⛄二、部分源代码

%% 程序分享
%--------------------------------------

clear
close all
clc
%% %%%%%%%%%%%%%%%图像%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I=imread(‘3096.jpg’);

if size(I,3) == 3
I=rgb2gray(I);
else
end
I=im2double(I);
figure;imshow(I);title(‘(a)原始图像’)
% I=I;%不加噪声
%I=imnoise(I,‘speckle’,deta_2);
% I=imnoise(I,‘salt & pepper’,0.05); %加噪图
% I=imnoise(I,‘gaussian’,0,0.01); % 加高斯噪声
figure;imshow(I);title(‘(b)加噪图像’);
imwrite(I,‘2.jpg’);
[m,n]=size(I);
%k 聚类数目
k=2;
% k=3;

I4 = I(😃; %% 将图像灰度按列排列
%% ------------------------ fcm算法------------------------
fcm_spatial_mean_label=zeros(m*n,1);
t=cputime;
tic;
[O2, U2, obj_fcn2] = fcm(I4, k);
toc;
time_fcm_spatial_mean=cputime-t;
%% 最大隶属度原则
maxU2 = max(U2); %隶属度最大
for j=1:k
index = find(U2(j, 😃 == maxU2); %隶属度最大对应的像素位置
fcm_spatial_mean_label(index) = j;
end
labels2=reshape(fcm_spatial_mean_label,[m n]);
labels2=uint16(labels2);

%% 显示聚类分割图
labels2(find(labels21))=0;
labels2(find(labels2
2))=255;
labels2(find(labels23))=180;
labels2(find(labels2
4))=100;
labels2=uint8(labels2);
figure;imshow(labels2,[]);title(‘©聚类分割图’);
imwrite(labels2,‘3.1.tiff’,‘tiff’,‘Resolution’,300);%输出结果,保存为tif图片

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]陈浩,方勇,朱大洲,王成,陈子龙.基于蚁群算法的玉米植株热红外图像边缘检测[J].农机化研究. 2015,37(06)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101645.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

统计学习方法 | 感知机

感知机是二类分类的线性分类模型&#xff0c;其输入为实例的特征向量&#xff0c;输出为实例的类别&#xff0c;取1和-1二值 感知机对应于输入空间&#xff08;特征空间&#xff09;中将实例划分为正负两类的分离超平面&#xff0c;属于判别模型 一.模型介绍和学习策略 1.模…

牛客题霸sql入门篇之多表查询

牛客题霸sql入门篇之多表查询 1 子查询 1.1 浙江大学用户题目回答情况 1.1.1 题目内容 a 内容1 b 内容2 1.1.2 示例代码 SELECT device_id,question_id,result FROM question_practice_detail WHERE device_id(SELECT device_id FROM user_profile WHERE university浙江大…

[附源码]计算机毕业设计Python的个人理财系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

pyqt 搭建深度学习训练界面(二)

炼丹软件 github链接: 有需要联系我 requirements: 测试在ubuntu18.04和Windows均可运行 ubuntu18.04 OS: Ubuntu 18.04.6 LTS Python version: 3.7 (64-bit runtime) Is CUDA available: True CUDA runtime version: 11.1.74 GPU models and configuration: GPU 0: NVI…

基于云的文档管理软件/文档管理系统(DMS)

基于云的文档管理软件 由于违反法规而导致的安全漏洞、数据丢失、版本管理等难题和诉讼已经变得非常普遍&#xff0c;以至于这一切都感觉像是“正常”的现象。使用文档管理系统&#xff0c;可以让您避免这些麻烦。安全标准的执行、信息的合规性和维护都在控制之中&#xff0c;只…

【人脸识别】SVM和PCA人脸识别【含GUI Matlab源码 369期】

⛄一、简介 1 PCA-SVM原理 1.1 主成分分析PCA 本文处理的所有原始图片都是112x 92大小的pgm格式图片&#xff0c; 每幅图片包含10304个像素点&#xff0c; 每一行代表一个样本&#xff0c;维数就是10304维。维数过大使得数据处理工作十分复杂&#xff0c;同时&#xff0c;图片…

axios传参的语法

请求方式 POST 向服务器新增数据 GET 从服务器获取数据 DELETE 删除服务器上的数据 PUT 更新服务器上的数据(侧重于完整更新:例如更新用户的完整信息) PATCH 更新服务器上的数据(侧重于部分更新:例如只更新用户的手机号 ) get axios({url: 请求地址,m…

制作自已的屏保动态

制作自已的屏保动态我的环境第一步&#xff1a;编写自己的屏保程序1、代码准备2、编译第二步&#xff1a;有了可运行程序&#xff0c;使用RAR压缩工具将资源和程序打包成独立可执行exe第三步&#xff1a;将dist.exe配置成系统屏幕保护参考我的环境 win10 python3.X pycharm 第…

Linux学习08-认识与学习BASH

1 认识BASH 我们必须要通过Shell将我们输入的命令与内核沟通&#xff0c;好让内核可以控制硬件来正确无误地工作。 Bash shell的功能 历史命令&#xff1a;命令行按“上下键”就可以找到前/后一个输入的指令。 命令与文件补全功能&#xff1a; [Tab] 接在一串指令的第一个…

大学生学习网站哪里找?收好这15个网站

1.学堂在线 地址:https://www.xuetangx.com/ 这里面的课程都是精选&#xff0c;以北大清华为首的高校汇聚于此 2.中国大学生MOOC 地址:https://www.icourse163.org/ 不多说都是精品 3.网易公开课 地址:https://open.163.com/ 网易公开课汇集清华、北大、哈佛、耶鲁等世界名…

全景分割~

Hinton组提出基于大型全景掩码的实例分割框架&#xff0c;图像视频场景丝滑切换 全景分割是一项基本的视觉任务&#xff0c;该任务旨在为图像的每个像素指定语义标签和实例标签。语义标签描述每个像素的类别&#xff08;例如天空、竖直物体等&#xff09;&#xff0c;实例标签…

408 | 考前知识拾遗

计网 二、物理层 各种编码图像 数据交换方式——怎么算时间 VLAN每个VLAN都是一个广播域 三、数据链路层 差错控制&#xff1a;检错、纠错 停等、GBN、SR差别 随机访问 VLAN的考点 交换机&#xff1a;转发、自学习 四、网错层 路由协议/算法 ☆☆☆IPV4分组 1、网关配置、路由…

JVM——常量池

目录一、常量池二、运行时常量池三、intern方法 1.8四、intern方法 1.6五、StringTable 垃圾回收六、StringTable调优通过解决以下问题可以更深入了解字符串创建过程中的原理 一、常量池 二进制字节码的组成&#xff1a;类的基本信息、常量池、类的方法定义&#xff08;包含…

集合的框架体系和Collection接口

1.集合的理解和好处 前面我们保存多个数据使用的是数组&#xff0c;那么数组有不足的地方&#xff0c;我们分析一下 1.1数组 1)长度开始时必须指定&#xff0c;而且一旦指定&#xff0c;不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素的示例代码-比较麻烦…

调试3D渲染和3D可视化的五个好处

建筑和建筑环境是我们日常生活中不可避免的一部分&#xff0c;直接影响我们和我们的福祉。它可以是我们的家、办公室、附近的教堂或城市的商业综合体;所有这一切的设计和规划都是建筑。然而&#xff0c;具有讽刺意味的是&#xff0c;建筑的交流往往并不具有包容性。例如&#x…

玩以太坊链上项目的必备技能(函数及其可见性和状态可变性-Solidity之旅十三)

状态变量可见性 在这之前的文章里&#xff0c;给出的例子中&#xff0c;声明的状态变量都修饰为public&#xff0c;因为我们将状态变量声明为public后&#xff0c;Solidity 编译器自动会为我们生成一个与状态变量同名的、且函数可见性为public的函数&#xff01; 在 Solidity…

ASP.NET Core 3.1系列(19)——EFCore中的添加实体操作

1、前言 前面介绍了EFCore中关于查询和执行原生SQL的操作&#xff0c;这篇博客就来介绍一下EFCore中添加实体的相关操作。关于添加实体&#xff0c;EFCore提供了多种方法供开发者使用。但EFCore中针对实体的一系列操作最终都会被转换成SQL&#xff0c;因此这些方法之间也存在着…

设计模式之模版方法模式

Template method design pattern 模版方法模式的概念、模版方法模式的结构、模版方法模式的优缺点、模版方法模式的使用场景、模版方法模式的实现示例、模版方法模式的源码分析 1、模版方法模式的概念 模版方法模式&#xff0c;即定义一个算法骨架&#xff0c;而将一些步骤延迟…

ARM——指令集仿真环境搭建

目录 一、ARM指令集仿真环境搭建 1.1指令和指令集 指令 指令集 1.2汇编的本质 汇编 C语言 1.3为什么学习汇编 1.4仿真 硬件仿真 软件仿真 1.5Keil 1.6环境搭建 1.7汇编工程创建 二、汇编 2.1汇编中的符号 2.2ARM指令集 2.3简单的ARM程序 一、ARM指令集仿真环境搭…

Cyanine5 NHS ester |分子量:616.19|分子式:C36H42ClN3O4

Cyanine5 NHS ester |分子量&#xff1a;616.19|分子式&#xff1a;C36H42ClN3O4 外观&#xff1a;暗蓝色粉末 分子量&#xff1a;616.19 分子式&#xff1a;C36H42ClN3O4 溶解性&#xff1a;易溶于有机溶剂&#xff08;DMF,DMSO和氯化物&#xff09;&#xff0c;难溶于水 …