Problem with roipoly.

8 visualizzazioni (ultimi 30 giorni)
Luis Lira
Luis Lira il 21 Mag 2018
Commentato: Luis Lira il 22 Mag 2018
Hi. I'm trying to use roipoly to select a region in order to make a calculation over that region. The problem is that when i create the image and select the region with "ginput", Matlab shows me a 1x1 image, just a pixel.
This is the code:
w = imshow(Lesion_Visible(:,:,150),[]);
[r c]=ginput(5)
BW = roipoly(w,r,c);
figure,imshow(BW)
[R C] = size(BW);
for i = 1:R
for j = 1:C
if BW(i,j) == 1
Out(i,j) = w(i,j);
else
Out(i,j) = 0;
end
end
end
figure; imshow(Out,[]);
I believe the problem is in the 'imshow' because Lesion_Visible is a logical array and w, that is imshow over Lesion_Visible, appears in the workspace like an 1x1 image. How can i fix this? Can i use roipoly over a logical array? Thanks.
PD: Lesion_Visible is an 434x362x362 array.

Risposta accettata

Walter Roberson
Walter Roberson il 21 Mag 2018
roipoly does not accept the handle of the image() graphics object as its first parameter: you have to pass the image array.
  4 Commenti
Walter Roberson
Walter Roberson il 21 Mag 2018
this_image = Lesion_Visible(:,:,150);
imshow(this_image,[]);
[r, c] = ginput(5)
BW = roipoly(this_image, r, c);
Luis Lira
Luis Lira il 22 Mag 2018
Thanks sir. That was the mistake.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Exploration in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by