课程学习——模糊C均值聚类分割法

这篇博客介绍了如何在MATLAB和C语言中实现模糊C均值聚类分割法,提供了具体的代码示例,并展示了运行结果。鼓励读者自我学习和探索,以此提升技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

matlab:C语言逻辑实现模糊C均值聚类分割法。
代码:

close all;
clear all;
clc;
data=imread('E:\matlabCX\图片\7.jpg');
[m,n,r]=size(data);
if r>1
    data1=rgb2gray(data);
else
    data1=data;
end
%  data=imnoise(data,'gaussian',0,0.02);
% data= imnoise(data,'salt & pepper',0.05);
data1=imresize(data1,[256 256]);
[m,n]=size(data1);
 figure(1);
% subplot(1,2,1);%图排成1行2列,将图画在figure 中第一幅图上
imshow(data1);
title('原图像');
data1=double(data1); 

% 确定参数
% c=3;
c=2;
mc=2.0;
e=0.01;%精度
ct=0;%迭代次数ct
%初始化距离
d=zeros(m,n,c);
% 初始化隶属度
u=zeros(m,n,c);
v1(1)=75;
% v1(2)=180;
v1(2)=260;
while e>0.0001 && ct<1000     %循环条件
    v=v1;
    
    % 算距离:样本data(i,j)到第k类的距离
    for k=1:c
        for  i=1:m
            for j=1:n
                d(i,j,k)=(data1(i,j)-v1(k))^2+0.0001;
            end
        end
    end
    
    % 算隶属度
    for j=1:n
        for i=1:m
            tp1=0.0;
            for k=1:c
                tp1=tp1+(1/d(i,j,k))^(1/(mc-1));
            end
            for k=1:c
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值