Matlab统计曲线

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:39:26
怎么统计一幅图像的不同的灰度级的像素个数。
例如0灰度级有a个像素;1灰度级有b个像素;2灰度级有3个像素;.......然后再把这些统计有图像画出来。

谢谢各位大侠们,毕业论文就写完了,就剩下这个不会了,告诉我具体函数,我是新手,以前没有接触过Matlab,最好说的具体点,解决了我再加分。

谢谢,再次谢谢了。

Data=floor(rand(100,100)*100);%随即生成0-100 整数测试
for i=0:100
D(i)=length(find(Data(:)==i)); %计算 像素为 i 的 个数
end
%%%%%%%%%%%%%%%%%%%%%%
你可能 需要这个
举个例子
A=imread('cameraman.tif');
hist(A(:),0:255);xlim([0,255]);

hist是将数据做出频数图的命令
这里A就是一个图像矩阵。 你可以用imshow(A)查看该图像。'cameraman.tif'在matlab中自带。
A(:)是将A写成一列(否则hist会分别对每一列进行统计)
0:255就是分组。hist会将其分成256个组进行统计。
分别为(-inf,0.5](0.5,1.5](1.5,2.5]...(253.5,254.5](254.5,inf)
因为灰度图像是0-255的整数,因此这样正好统计出各灰度值的个数。
n=hist(A(:),0:255)可以返回每个灰度值的个数。
xlim就是限定x轴的范围而已

hist
统计条型图函数