Matlab实现图像阈值分割

使用matlab实现阈值分割,实现两种方法,一是人工选择阈值进行分割,而是自动选择阈值进行分割。

操作步骤
1、 打开Matlab内容自带的coins.png图像。
2、 观察它的直方图。
3、 人工选定一个阈值,并进行分割。
4、 使用自动化阈值选定方法,进行分割。

根据直方图显示,此图像符合双峰分布的基本特征,峰谷大概在120左右,所以人工选择分割的阈值为120,在自动分割上采用Otsu的方法进行自动的图像阈值分割。

clc,clear
I=imread('coins.png');
imshow(I);
%输出直方图
figure;imhist(I);
%人工选定阈值进行分割,选择阈值为120
[width,height]=size(I);
T1=120;
for i=1:width
    for j=1:height
        if(I(i,j)<T1)
            BW1(i,j)=0;
        else 
            BW1(i,j)=1;
        end
    end
end
figure;imshow(BW1),title('人工阈值进行分割');
%自动选择阈值
T2=graythresh(I);
BW2=im2bw(I,T2);%Otus阈值进行分割
figure;imshow(BW2),title('Otus阈值进行分割');

这里写图片描述

©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页