imshow map image segmentation

1 次查看(过去 30 天)
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 个评论
Alex Mcaulley
Alex Mcaulley 2019-7-3
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);

请先登录,再进行评论。

采纳的回答

Ahsen Feyza Dogan
mri.jpg

更多回答(2 个)

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

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by