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

2 views (last 30 days)
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

Answers (2)

Image Analyst
Image Analyst on 10 Dec 2016
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 Comments
Image Analyst
Image Analyst on 21 Dec 2016
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);

Sign in to comment.


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

Community Treasure Hunt

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

Start Hunting!