MATLAB Answers

0

imshow map image segmentation

Hi,
I wrote a code but it does not show with scale I dont understand the reason.
Thank you
I=imread('mri.jpg');
J = imcrop(I,[197 180 130 165]);
%imshow(J);
[x,y]=size(J);
K=zeros(x,y);
cthresholdh=50;
cthresholdl=0;
for i=1:x
for j=1:y
if cthresholdh >= J(i,j) && J(i,j) >= cthresholdl
K(i,j)=1;
else
K(i,j)=0;
end
end
end
imshow(K,map);

  1 Comment

What do you mean by "it does not show with scale"? Do you have any error? The question is not clear.
By the way, you don't need the loop nor x, y variables:
I=imread('mri.jpg');
J = imcrop(I,[197 180 130 165]);
%imshow(J);
K=zeros(size(J));
cthresholdh=50;
cthresholdl=0;
K(J >= cthresholdl & J <= cthresholdh) = 1;
imshow(K,map);

Sign in to comment.

Tags

3 Answers

Answer by Ahsen Feyza Dogan on 3 Jul 2019
 Accepted Answer

mri.jpg

  0 Comments

Sign in to comment.


Answer by Ahsen Feyza Dogan on 3 Jul 2019

Thank you I want to show like this image.
https://www.mathworks.com/help/examples/images/win64/MRISliceExample_02.png

  1 Comment

Can you upload your image ('mri.jpg')?

Sign in to comment.


Answer by Alex Mcaulley on 3 Jul 2019

You just need to tune the rectangle in the imcrop call to adjust it to the result you want. For example:
I=imread('mri.jpg');
J = imcrop(I,[90 70 340 410]); %Changed
%imshow(J);
K=zeros(size(J));
cthresholdh=50;
cthresholdl=0;
K(J >= cthresholdl & J <= cthresholdh) = 1;
imshow(K)
res.jpg
Is this that you want? If not, specify what are you looking for in detail.

  0 Comments

Sign in to comment.