how can I use a threshold value?

Hello everybody,
I need some help! I have to answer to those questions:
9) Ask the user to enter a thresholding value for the binary mask
10) Given this value, transform the image to a binary image and display the result on the screen [useful tools: read(), im2bw()]
11) Ask the user whether he/she is happy of the result. Yes will be 1 and No will be 0. Put 1 as the default value.
12) Modify these previous lines of code with a loop that only stops when the user is happy of the result. Basically, you can be happy when the EHT is represented as a rectangle with its two ends surrounded by black pixels. If the user is not happy, ask him/her to enter a new thresholding value.
I have already found the following code:
*%question 1
select=uigetfile('video.avi');
%question 2
video=mmreader('video.avi');
%question3
video.NumberOfFrames;
video.Height;
video.Width;
k=video.NumberOfFrames;
for k=100;
mov(1:k)=struct('cdata',[],'colormap',[]);
end;
%question4
%Display the first frame
vidFrame=read(video,k);
%Question 4
%to alert the user that he needs to draw a line on this frame
imshow(vidFrame);
uiwait(msgbox('draw a line on the frame and click on ok to continue', 'Alert'));
%Question5
pos=wait(imline);
l=length(pos);
%question6
m=sqrt((pos(1,2)-pos(1,1)^2)-((pos(2,2)-pos(2,1)^2)));
question 7
prompt= {'enter the real length in micrometers'};
dlg_title='Enter';
num_lines=1;
def={'1'};
answer=inputdlg(prompt,dlg_title,num_lines,def);
%Question8
% Derive the ration pixel/micrometer
r=1/m;
%Question9
%Ask the user to enter a thresholding value for the binary mask
prompt={'enter a thresholding value - value between 0 and 1'};
dlg_title='Input';
num_lines=1;
def={'0.5'};
answer2=inputdlg(prompt,dlg_title,num_lines,def);
%Question 10
%BW = im2bw(vidFrame,answer2);
%imshow(BW);
%level=answer2;
A = str2num('answer2');%to tranform string answer2 in num answer2
level=input('answer2:');%Request user input
BW = im2bw(vidFrame,level);
imshow(BW);
%Question 11
prompt= {'Are you satisfied? 1 for yes or 0 for no'};
dlg_title='Input';
num_lines=1;
def={'1'};
answer3=inputdlg(prompt,dlg_title,num_lines,def);*
Thank you for your help. I'm very lost!!
YF.

1 Comment

It is not clear what you are asking for assistance with.

Sign in to comment.

 Accepted Answer

This snippet may help
promptMessage = sprintf('Do you want to Continue processing,\nor Cancel to abort processing?');
titleBarCaption = 'Continue?';
button = questdlg(promptMessage, titleBarCaption, 'Continue', 'Cancel', 'Continue');
if strcmpi(button, 'Cancel')
return; % or break, or continue - whatever you need.
end

1 Comment

thanks so much for your help!
Season's Greetings!

Sign in to comment.

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Asked:

YF
on 21 Dec 2013

Commented:

YF
on 26 Dec 2013

Community Treasure Hunt

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

Start Hunting!