Effacer les filtres
Effacer les filtres

What should I do?-Array indices must be positive integers or logical values.

1 vue (au cours des 30 derniers jours)
My code
clc
clear
close all
a=imread('Screenshot_20210628.jpg');
g =rgb2gray(a);
arr=zeros(1,256);
[x,y,z]=size(g);
for i=1:x
for j=1:y
m=g(i,j);
arr(m)=arr(m)+1;
end
end
stem(arr);
Array indices must be positive integers or logical values.
Error in line 11
arr(m)=arr(m)+1;
  1 commentaire
Stephen23
Stephen23 le 26 Août 2021
It looks like you are writing your own histogram code. Is there a reason why you cannot just use one of these?:
To fix that error remember that MATLAB indexing starts at one, not zero.

Connectez-vous pour commenter.

Réponse acceptée

Wan Ji
Wan Ji le 26 Août 2021
Hi,
g(i,j) may be zero, then m becomes zero. change it like this
clc
clear
close all
a=imread('Screenshot_20210628.jpg');
g =rgb2gray(a);
arr=zeros(1,256);
[x,y,z]=size(g);
for i=1:x
for j=1:y
m=g(i,j)+1;
arr(m)=arr(m)+1;
end
end
stem(arr);

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by