如何用matlab做图片的灰度直方图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab做图片的灰度直方图相关的知识,希望对你有一定的参考价值。

在matlab中对图片制作灰度直方图

参考技术A 或者在 matlab下边输入 help imhist
edit histeq

%%%灰度图象的直方图数据%%%
clc
clear
fn='rice.tif';
I=imread (fn);
J=I;
%计算灰度图象的直方图数据
L=256; %灰度级
Ps = zeros(L,1); %统计直方图结果数据
nk=zeros(L,1);
[row,col]=size(I);
n=row*col; %总像素个数
for i = 1:row
for j = 1:col
num = double(I(i,j))+1; %获取像素点灰度级
nk(num) = nk(num)+1; %统计nk
end
end
%计算直方图概率估计
for i=1:L
Ps(i)=nk(i)/n;
end
figure;
subplot(3,1,1);imshow(J),title('原图');
subplot(3,1,2),plot(nk),title('直方图(nk)');
subplot(3,1,3),plot(Ps),title('直方图(Ps)');

%figure(4),imhist(hist);
%p=imhist(hist); %生成直方图函数,返回灰度图象直方图数据
%figure(5),plot(p);

以上是关于如何用matlab做图片的灰度直方图的主要内容,如果未能解决你的问题,请参考以下文章

如何用DIB绘制8位的灰度图像?绘出的灰度图像为啥出现蓝色和红色?

直方图均衡化及matlab实现

怎么用matlab显示一张图片和它的灰度直方图?

如何用matlab画直方图

如何用histeq函数来增强真彩色图像的对比度

图像灰度直方图归一化 matlab实现