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

3 vues (au cours des 30 derniers jours)
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;
}

Réponses (2)

Thorsten
Thorsten le 26 Juin 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 commentaires
Lokesh Ravindranathan
Lokesh Ravindranathan le 26 Juin 2013
Could you provide the updated code? Its possible that you are using = operator instead of == operator.
Umme Tania
Umme Tania le 26 Juin 2013
Modifié(e) : Walter Roberson le 26 Juin 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;
}

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 26 Juin 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

Catégories

En savoir plus sur Modeling dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by