首页 > 化工知识 > 【图像分割】基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割matlab代码

【图像分割】基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割matlab代码

时间:2021-12-11 来源: 浏览:

【图像分割】基于局部信息的模糊C均值聚类算法(FLICM)实现图像分割matlab代码

原创 天天Matlab 天天Matlab
天天Matlab

TT_Matlab

每天分享一点Matlab资料,一起成长进步。需要定制程序添加qq1575304183

收录于话题 #图像处理matlab源码 286个 内容

1 简介

以图像分割为研究内容,分析了图像的空频域特征,并在此基础之上提出了一种基于模糊局部信息C均值聚类的分割算法.由于FLICM算法充分利用局部空间信息和局部灰度信息,能够很好地描述模糊性,对于边界不清晰的太赫兹图像有很好地效果.采用不同成像条件下的多类太赫兹图像进行实验,结果表明此方法能够很好地克服边缘模糊,随机噪声,条纹噪声等干扰,分割所得目标轮廓完整,准确,有较高的精度,为进一步的图像目标识别打下了良好的基础.

2 部分代码

clear ; clc ; data = randn ( 310 , 2 ); [ center , U , obj_fcn ] = fcm ( data , 2 ); plot ( data (:, 1 ), data (:, 2 ), ’o’ ); hold on ; maxU = max ( U ); % Find the data points with highest grade of membership in cluster 1 index1 = find ( U ( 1 ,:) == maxU ); % Find the data points with highest grade of membership in cluster 2 index2 = find ( U ( 2 ,:) == maxU ); %line(data(index1,1),data(index1,2),’marker’,’*’,’color’,’g’); %line(data(index2,1),data(index2,2),’marker’,’*’,’color’,’r’); % Plot the cluster centers plot ([ center ([ 1 2 ], 1 )],[ center ([ 1 2 ], 2 )], ’*’ , ’color’ , ’k’ ); hold off ; % I = imread(’lena.jpg’); %I = imread(’eight.tif’); % I = imread(’romantic.jpg’); I = imread ( ’bacteria.jpg’ ); I = rgb2gray ( I ); figure , imshow ( I ,[]); title ( ’原图’ ); g = imnoise ( I , ’salt & pepper’ , 0.02 ); % 给图像添加高斯噪声 figure , imshow ( g ,[]); title ( ’添加高斯噪声后的图像’ ); g = double ( g ); [ m , n ] = size ( g ); k = 2 ; % ---------fcm---------------- fcm_label = zeros ( m * n , 1 ); [ O , U , obj_fcn1 ] = fcm ( g (:), k ); maxU = max ( U ); for j = 1 : k     index = find ( U ( j , :) == maxU );     fcm_label ( index ) = j ;     end fcm_result = reshape ( fcm_label ,[ m n ]); figure , imshow ( fcm_result ,[]); title ( ’fcm分割结果’ ); % ------------------------ FLICM法------------------------ r = 3 ; % 求G时,邻域窗的大小 [ neighbor_pos , window_d ]= FLICM_find_neighbor ( g , r ); FLICM_label = zeros ( m * n , 1 ); t = cputime ; X = g (:); [ O10 , U10 , obj_fcn10 ] = FLICM ( X , k , neighbor_pos , window_d ); time_FLICM = cputime - t ; maxU10 = max ( U10 ); for j = 1 : k     index = find ( U10 ( j , :) == maxU10 );     FLICM_label ( index ) = j ;     end labels10 = reshape ( FLICM_label ,[ m n ]); figure , imshow ( labels10 ,[]); title ( ’flicm分割结果’ );

3 仿真结果

4 参考文献

[1]雷萌, 黄志坚, and 马芳粼. "一种基于局部信息模糊聚类的太赫兹图像分割算法." 制造业自动化 37.12(2015):3.

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

天天Matlab

赞赏二维码 微信扫一扫赞赏作者 赞赏

已喜欢, 对作者说句悄悄话
最多40字,当前共

  人赞赏

1 / 3

长按二维码向我转账

赞赏二维码

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐