how can thresold the gray scale image manually using canny method for thresholding and get the only object in image

1 次查看(过去 30 天)
please tell me how to do thresholding and get only one object projectdir = 'E:\SHIVA BACKUP\THYROID\P1\newcodes\data1\13002'; %y = 72; X = zeros(128, 128, 1, 72,'uint16'); % Read the series of images. % for p=1 p=1; thisfile = sprintf('IM_%d.dcm', p); filename = fullfile( projectdir, thisfile ); imdata = dicomread(filename); imsize = size(imdata); if ~isequal( imsize, [128 128 1 72] ) fprintf('file is unexpected size %s instead of [128 128 1 72], skipping "%s"\n', mat2str(imsize), filename); else X(:, :, :, :,p) = imdata; end figure(); montage(X(:,:,:,:,p), [0 100])
v=zeros(128,128,72);
s=zeros(128,128,72);
sum=0;
THRESH=20;
for i=1:18 v(:,:,i)=X(:,:,:,i); s(:,:,i)=edge(v(:,:,i),'canny',THRESH);%'both',10); figure() imshow(s(:,:,i),[]) end

回答(2 个)

Image Analyst
Image Analyst 2016-12-10
We can't read your code because you have not read this link yet.
See my interactive/visual thresholding application here: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
  3 个评论
Image Analyst
Image Analyst 2016-12-21
That's a good suggestion for me to add this line to the OutputFcn. But until then, just after you call the function, use this code to get the binary image:
binaryImage = (lowThreshold <= grayImage) & (grayImage<= highThreshold);

请先登录,再进行评论。


Belie
Belie 2018-5-7
hello image analyst,finding the actual thresold is so challenging..how I find it

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by