matlab绘制直方图?

问题描述:

matlab绘制直方图?
请问我根据下面这个绘制向量直方图的例子
x=[1 2 3 4 5 6];
y=[2 6 8 7 8 5];
bar(x,y);
title('a bar of polt');
xlable('x');
ylable('y');
怎么改编:题目是读入灰度图,然后再显示灰度直方图.
麻烦你看一看给我指点一下做题思路.
读入一幅直方图我会做
imread().
还是有有些不太明白,麻烦你给个例子可以吗?
1个回答 分类:数学 2014-10-27

问题解答:

我来补答
举个例子
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轴的范围而已
 
 
展开全文阅读
剩余:2000