In this code i used boolean true and false ,but it's not working. What can i use insted of boolean true and false?

5 views (last 30 days)
f=imread('image1.jpg');
T = f;
T(T>60) = 255;
imshow(T)
imwrite(T,'C:\Users\VAIO\Documents\MATLAB\iso_image.jpg','jpg');
for i=1:1:M
{
start = false;
for j=1:1:N
{
if ((T<60) && (start=false))
{
temp1=j;
start=true;
}
if((T<60)&&(start=true))
temp2=j;
}
dis[i]=temp2-temp1;
}

Answers (2)

Thorsten
Thorsten on 26 Jun 2013
The code in the if-clause is probably wrong. First, you probably want to compare a particular element of T, i.e., T(i,j) against 60. Second, use == to check equality:
if T(i,j) < 60 && start == false
Note that you don't need the extra parentheses in Matlab but you can use them if you consider it to be more readable:
if (T(i,j) < 60) && (start == false)
Same for the other if-clause.
  3 Comments
Umme Tania
Umme Tania on 26 Jun 2013
Edited: Walter Roberson on 26 Jun 2013
f=imread('image1.jpg');
T = f;
T(T>60) = 255;
imshow(T)
imwrite(T,'C:\Users\VAIO\Documents\MATLAB\iso_image.jpg','jpg');
for i=1:1:M
{
start = false;
for j=1:1:N
{
if T(i,j)<60 && start==false
{
temp1=j;
start=true;
}
if T(i,j)<60 && start==true
temp2=j;
}
dis[i]=temp2-temp1;
}

Sign in to comment.


Walter Roberson
Walter Roberson on 26 Jun 2013
MATLAB does not use {} to mark blocks. MATLAB uses {} to create cells. MATLAB uses "end" to mark the end of blocks.
For example instead of
for i=1:M { code }
MATLAB uses
for i=1:M; code; end

Categories

Find more on Modeling in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!