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

1 view (last 30 days)
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;

Accepted Answer

Wan Ji
Wan Ji on 26 Aug 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);

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!