怎么用matlab显示一张图片和它的灰度直方图?
2024-08-07 广告
可按如下操作:
在 matlab下边输入
help imhist edit histeq %%%
灰度图象的直方图数据
%%%clcclearfn='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;
%统计nkendend%计算直方图概率估计for i=1:LPs(i)=nk(i)/n;
endfigure;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);
%生成直方图函数,返回灰度图象直方图数据即可。
拓展
matlab
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。