我在matlab中编写一个简单的代码,其目的是在不使用函数hist的情况下创建灰度图像的直方图。我停留在mathlab显示错误的位置“下标索引必须是真正的正整数或逻辑。”你能帮我找到错误的指数吗?
indirizzo='file.jpg';
immagine=imread(indirizzo);
immaginebn=rgb2gray(immagine);
n=zerps(0,255);
for x=0:255;
numeroennesimo=sum(sum(immaginebn==x));
n(x)=numeroennesimo;
end
plot(x,n)
答案 0 :(得分:0)
你不能用0作为索引。要么n(x+1)
或for x = 1:256
,要在比较中减去1。并且有一个拼写错误,我想这意味着零而不是zerps,这也不能用于0.还有一个,你的情节也不会起作用,因为x的大小只有1而n是266的数组。对于直方图,我会使用条形图。
indirizzo='file.jpg';
immagine=imread(indirizzo);
immaginebn=rgb2gray(immagine);
n=zeros(1,256);
for x=0:255;
numeroennesimo=sum(sum(immaginebn==x-1));
n(x+1)=numeroennesimo;
end
bar(0:255,n)
或
indirizzo='file.jpg';
immagine=imread(indirizzo);
immaginebn=rgb2gray(immagine);
n=zeros(1,256);
xplot=zeros(1,256);
for x=1:256;
numeroennesimo=sum(sum(immaginebn==x-1));
n(x)=numeroennesimo;
xplot(x) = x-1;
end
plot(xplot,n)