matlab for循环求图象直方图
我自己编了个程序,如求一幅256色图像的直方图f=imread('A.jpg');[m,n]=size(f);a=zeros(256,1);fori=1:mforj=1:...
我自己编了个程序,如求一幅256色图像的直方图
f=imread('A.jpg');
[m,n]=size(f);
a=zeros(256,1);
for i=1:m
for j=1:n
a(f(i,j)+1)=a(f(i,j)+1)+1;
end
end
a(k)理论上应该是灰度为k-1的点的个数,但是a(255)和a(256)的数据不对,求大神告知为什么 展开
f=imread('A.jpg');
[m,n]=size(f);
a=zeros(256,1);
for i=1:m
for j=1:n
a(f(i,j)+1)=a(f(i,j)+1)+1;
end
end
a(k)理论上应该是灰度为k-1的点的个数,但是a(255)和a(256)的数据不对,求大神告知为什么 展开
2个回答
展开全部
追问
恩, 这我后来发现了,我试了一下,我代码其实比你的快,比系统自带的慢多了,分就给你了
追答
那应该是你的图片非常小吧...否则你的循环数太多肯定比我的慢的。
2013-04-03
展开全部
菜鸟共同探讨下哈,你其他的都对?一般matlab中最好不要随便用i,j当变量,可能会出问题的。
追问
其他都对啊,他把a(256)的值加到了a(255)上,a(256)的值为0,就是说灰度为255的点的个数他显示是0个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询