任务一:显示图像直方图
自编MATLAB函数文件执行灰度图像的直方图计算,不使用MATLAB自带函数(如hist或imhist)。
程序代码:
function H = my_hist(im)
%H=my_hist(im)的输入im为灰度图像(灰度值0~255),输出H为256维向量
%获取图像尺寸,M=行数,N=列数
[M,N]=size(im);
%初始化直方图为256维全0向量
h=zeros(1,256);
for i=1:1:M
for j=1:1:N
for t=0:1:255
if im(i,j)==t
h(t+1)=h(t+1)+1;
end
end
end
end
H=h;
end
运行结果:
程序给出了图像的灰度直方图分布,可以看出图像在两极的分布比较集中。灰度分布较为丰富。
任务二:直方图均衡化
自编MATLAB函数文件执行灰度图像的直方图均衡化,不使用MATLAB成熟函数histeq。
运行结果:
直方图前后对比:
注:有需要任务二源文件的朋友可以联系作者,作者创作不易,希望客官们打赏~(作者联系方式见评论区)