一、图像灰度直方图
-
随机生成矩阵,统计其灰度直方图
f=rand(100,100);
g=round(255*f); %%round四舍五入到最近的数。Matlab取整函数有: fix, floor, ceil, round.的区别。链接:http://www.cnblogs.com/york-hust/p/3238714.html
h=zeros(1,256); %%%zeros(256)生成256x256矩阵
for i=1:100
for j=1:100
a=g(i,j);
h(a+1)=h(a+1)+1;%%记录每个灰度值的像素数
end
end
x=0:255;
y=h;
subplot(121);imshow(f); %%subplot将窗口分为1x2两个窗口,现在在第一个小窗口绘图
subplot(122);bar(h); %%subplot(122)=subplot(1,2,2) -
灰度图生成灰度直方图
I=imread(‘C:/Users/Lisa-Liu/Desktop/test1.jpg’);
I=rgb2gray(I);%%灰度化
row=size(I,1);
column=size(I,2);
N=zeros(1,256);%%zeros(256)生成256x256矩阵
for i=1:row
for j=1:column
k=I(i,j);
N(k+1)=(N(k+1)+1);%%记录每个灰度值的像素数
end
end
figure;
xlabel(‘灰度值’);
ylabel(‘出现次数’);
subplot(121);imshow(I);%%subplot将窗口分为1x2两个窗口,现在在第一个小窗口绘图
subplot(1,2,2);bar(N);%%subplot(122)=subplot(1,2,2)
%bar函数绘制直方图,为N中每一行的每一个元素绘制一个条