欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab实现图像阈值分割

程序员文章站 2024-02-11 12:49:58
...

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

Matlab实现图像阈值分割