直方图阈值法

%直方图阈值法  用 MATLAB实现直方图阈值法:
clc;clear;close;
I=imread('e:\role0\003i.bmp');
I1=rgb2gray(I);
figure;
subplot(2,2,1);
imshow(I1);
title(' 灰度图像')
grid on; %显示网格线
axis on;                  %显示坐标系
[m,n]=size(I1);                            %测量图像尺寸参数
GP=zeros(1,256);                           %预创建存放灰度出现概率的向量
for k=0:255
    GP(k+1)=length(find(I1==k))/(m*n);    %计算每级灰度出现的概率,将其存入GP中相应位置
end
subplot(2,2,2),bar(0:255,GP,'g')                   %绘制直方图
title('灰度直方图')
xlabel('灰度值')
ylabel(' 出现概率')
I2=im2bw(I,150/255);
subplot(2,2,3),imshow(I2);
title('阈值150的分割图像')
grid on;                  %显示网格线
axis on;                  %显示坐标系
I3=im2bw(I,200/255);   %
subplot(2,2,4),imshow(I3);
title('阈值200的分割图像')
grid on;                  %显示网格线
axis on;                  %显示坐标系

你可能感兴趣的:(学习)