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阈值进行分割');

这里写图片描述

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值