Matlab中 imhist
的用法
直方图可以用来评价一个图形的各个像素分布,在图形增强、图形分割方面有很大的作用
常见用法:
% 输入图片,图片要求为灰度图或者二值图
F=imread('test.jpg');
I=rgb2gray(F);
imhist(I)
% 直接统计该图的直方图,灰度图为256个等级,而至图为两个等级
imhist(I,10)
% 将直方图均分为10个等级,默认为256个等级
[count,x]=imhist(I,30)
% 获取直方图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数
stem(x,count)
% 通过刚才得到的值,绘制条形图。
补充:
% 一般情况下是可以直接绘制图形的直方图,如果说我们有一个矩阵,要绘制直方图,可以强制转数据类型
A=[1 1 1 1 2 2 56 5 65 56 78 9 9 9 9 55 44 44 44];
B=uint8(A);
imhist(B)
% 这样将B进行强制转换后,就可以认为其是一幅图片,就能用 imhist 了
% 可以转化为 uint8、uint16、等。和图片的类型相对应即可。
The end!