首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Matlab的模糊C均值肿瘤分割方法

基于Matlab的模糊C均值肿瘤分割方法
EN

Stack Overflow用户
提问于 2012-03-01 06:43:33
回答 1查看 10K关注 0票数 4

我有个肝节段。我要切掉里面的肿瘤。我用了FCM方法。这是一个三级FCM阈值。当我将其应用到图像中时,我需要单独对肿瘤区域(比其余部分更暗的区域)进行分割。但我的情况正好相反。肿瘤周围的所有区域都被分割。请帮帮我。程序有两个文件,testfcmthresh.m和一个函数fcmthresh.m

输入的“分割肝脏(使用区域生长)”和FCM输出图像:

从这里开始

我试图补充使用imcomplement()获得的图像,但我得到的整个背景也是白色的,因为背景最初是黑暗的。请帮帮我。

代码语言:javascript
复制
function [bw,level]=fcmthresh(IM,sw)
%FCMTHRESH Thresholding by 3-class fuzzy c-means clustering
%  [bw,level]=fcmthresh(IM,sw) outputs the binary image bw and threshold level of
%  image IM using a 3-class fuzzy c-means clustering. It often works better
%  than Otsu's methold which outputs larger or smaller threshold on
%  fluorescence images.
%  sw is 0 or 1, a switch of cut-off position.
%  sw=0, cut between the small and middle class
%  sw=1, cut between the middle and large class
%
%  Contributed by Guanglei Xiong (xgl99@mails.tsinghua.edu.cn)
%  at Tsinghua University, Beijing, China.

% check the parameters
if (nargin<1)
    error('You must provide an image.');
elseif (nargin==1)
    sw=0;
elseif (sw~=0 && sw~=1)
    error('sw must be 0 or 1.');
end

data=reshape(IM,[],1);
[center,member]=fcm(data,3);
[center,cidx]=sort(center);
member=member';
member=member(:,cidx);
[maxmember,label]=max(member,[],2);
if sw==0
    level=(max(data(label==1))+min(data(label==2)))/2;
else
    level=(max(data(label==2))+min(data(label==3)))/2;
end
bw=im2bw(IM,level);
代码语言:javascript
复制
%testfcmthresh.m

clear;clc;
im=imread('mliver3.jpg');
fim=mat2gray(im);
level=graythresh(fim);
bwfim=im2bw(fim,0.1);
[bwfim0,level0]=fcmthresh(fim,0);
[bwfim1,level1]=fcmthresh(fim,1);
subplot(2,2,1);
imshow(fim);title('Original');
subplot(2,2,2);
imshow(bwfim);title(sprintf('Otsu,level=%f',level));
subplot(2,2,3);
imshow(bwfim0);title(sprintf('FCM0,level=%f',level0));
subplot(2,2,4);
imshow(bwfim1);title(sprintf('FCM1,level=%f',level1));
% imwrite(bwfim1,'fliver6.jpg');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-03 12:21:35

我的问题的答案已经告诉了我在我的前一个问题,“在边界内提取图像区域”。如果有人需要参考,请阅读that.Thank你的评论。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9511781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档