Array indices must be positive integers or logical values (image processing)
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Yohanes Setiawan
le 22 Mar 2019
Commenté : Yohanes Setiawan
le 22 Mar 2019
x = imread('cameraman.jpg');
[M,N]=size(x)
for i=1:M
for j=1:N
I=x(i,j);
x(i,j)=xL(I)+( L(I)*lambda(i,j) );
end
end
where
xL is 1x256 dimension, xL is 1x256 dimension, and lambda is 256x256 dimension which is same with x that has 256x256 dimension.
I get this error:
Array indices must be positive integers or logical values.
Error in edge_enhancing (line 134)
x(i,j)=xL(I)+( L(I)*lambda(i,j) );
Ple
0 commentaires
Réponse acceptée
KSSV
le 22 Mar 2019
I=x(i,j); % here I will be pixel value of image, it cannot be a index
x(i,j)=xL(I)+( L(I)*lambda(i,j) );
Note that in MATLAB indices should be positive integers or logicals.
A = rand(10) ;
A(1) % no error
A(10) % no error
A(5,4) % no error
A(-1) % error
A(0) % error
A(23.5) % error
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!