MATLAB Answers

GUI input pixel range from inputdlg

6 views (last 30 days)
Swarup
Swarup on 22 Aug 2014
Commented: Swarup on 26 Aug 2014
Hi Everyone, can anyone help?
1) I am making a GUI for image segmentation.
2)In my GUI, I ask for a input number and display the respective slice. I use inputdlg command.
3)In the second step. I have to select few pixel coordinates and concate them together (please see example). These pixel ranges have to be 'hand picked' using the data cursor from the displayed image. And feed in to another input dilog box which is generated using inputdlg command.
example :
X1=A(326:345,106:113);
AA = (X1(:);X2(:).....)
3) The problem is, in the second step, I cannot use data cursor to retrieve pixel coordinates from the displayed image.
if true
% code
AA = getappdata(handles.select_call, 'AA');
prompt = {'Enter slice no. for training'};
dlg_title = 'Input';
num_lines = 1;
def = {'1'};
answer = inputdlg(prompt,dlg_title,num_lines,def);
numbr= str2double(answer);
A = AA(:,:,numbr);
size(A);
axes(handles.axes7);
imagesc(A); axis equal; color all; title('slice no. for traning');
x = inputdlg({'X1','X2','X3','X4','X5','X6','X7'},...
'pixel range from image.format',[1 20; 1 20;1 20; 1 20; 1 20; 1 20; 1 20]);
data = str2double(x);
data
end
Best wishes, Swarup
  3 Comments
Geoff Hayes
Geoff Hayes on 24 Aug 2014
Swarup - where is your code to get the pixel coordinates? You state I have to select few pixel coordinates and concate them together (please see example). Is this the
x = inputdlg({'X1','X2','X3','X4','X5','X6','X7'},...
'pixel range from image.format',[1 20; 1 20;1 20; 1 20; 1 20; 1 20; 1 20]);
So an input dialog appears with 7 edit fields that you want to be populated by the user or the user using a data cursor? If the latter why pop up the dialog asking the user for input?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 24 Aug 2014
Why not simply use rbbox() or imrect() to let the user select the rectangle in your image?
  1 Comment
Swarup
Swarup on 26 Aug 2014
Dear Mr Analyst and Goeff,
The use of function rbbox(), imrect() and ginput() serves my purpose to collect data coordinates. Although as Goeff hinted, I have to write a code to collect data and concate them together.
provides insight to approach it.
Thanks guys,
Regards, Swarup

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!