一:绘制图像直方图函数,定义为myDrawHistogram.m
myDrawHistogram.m代码如下:
function y = myDrawHistogram(x) %函数以function关键字开头,函数名作为文件名
x = double(x);p = x(:); %将输入图像x转化为double数据类型,将列排列成一个列向量
%% 两个%%代表分隔线
y = hist(p,256);hist(p,256); %即将图像的直方图保存在y中,并绘制直方图
pm = myMax(y); //
k = ceil((pm+50)/200);
tk = 200;
if k>10
tk = 400;k = ceil(k/2)*2;
end
%% 设置直方图的坐标和样式
xlabel('piexl value');ylabel('frequency');
axis([0 256 0 k*200]);
set(gca,'xtick',0:50:256,'ytick',0:tk:k*200);
set(gca,'fontsize',12,'fontname','times new roman','tickdir','out');
set(gcf,'position',[400 100 300 200],'color','w');
%%
function mm = myMax(v) %代表myDrawHisteogram的内调函数
mm = max(v);
end
end
因为是我们写的调用函数,在没有参数是运