我是matlab的新手,我想在我的图像上设置阈值。I want find the saturation of purple cells in order to distinguish that which one is a cancer one, because the cancer on have specific saturation 但我不知道该怎么做。这是我的代码。它永远不会去if部分!! 在这些代码中我使用红色通道,但我想这是错误的! 此外,分割部分已经完成,紫色细胞变得分段。 我唯一需要的就是一个好的门槛。 请指导我..谢谢 这是代码:
imshow(segmented_images{2})
hsvImage = rgb2hsv(segmented_images{2});
%%segmented_images{2} is a segmented image
Rchannel = hsvImage(:,:,1);
Rchannel=int8(Rchannel);
if Rchannel > 2736*3765
message = sprintf('it is a cancer image');
reply = questdlg(message, 'Continue with Demo?', 'OK','cancel', 'OK');
if strcmpi(reply, 'cancel')
% User canceled so exit.
return;
end
end
[1]: http://i.stack.imgur.com/jn2X9.jpg
答案 0 :(得分:0)
不是一个编程问题。 这样的阈值完全取决于您正在处理的数据和应用程序。这是您需要从数据的统计和经验分析中找出的。这里没有人能够给你那个。
答案 1 :(得分:0)
使用自动计算的二进制阈值会很棘手。如果可能,请使用颜色信息。仅强度信息可能还不够。
以下是一些需要考虑的选项:
http://www.cs.cityu.edu.hk/~wzhao2/mean_shift.htm
http://www.mathworks.com/matlabcentral/fileexchange/10161-mean-shift-clustering