MATLAB Answers

imshow map image segmentation

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

Alex Mcaulley
Alex Mcaulley on 3 Jul 2019
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.

Accepted Answer

Ahsen Feyza Dogan
Ahsen Feyza Dogan on 3 Jul 2019
mri.jpg

  0 Comments

Sign in to comment.

More Answers (2)

Ahsen Feyza Dogan
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

Alex Mcaulley
Alex Mcaulley on 3 Jul 2019
Can you upload your image ('mri.jpg')?

Sign in to comment.


Alex Mcaulley
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.

Sign in to answer this question.

Tags