matlab中图像分割技术之二阈值分割

这篇具有很好参考价值的文章主要介绍了matlab中图像分割技术之二阈值分割。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.直方图双峰法
2.最大类间方差法
3.迭代法

阈值化图像分割是一种最基本的图像分割方法,其基本原理就是选取一个或多个处于灰度图像范围之中的灰度阈值,然后将图像中各个像素的灰度值与阈值比较,并根据比较的结果将图像中的对应像素分成两类或多类,从而把图像划分成互不重叠的区域集合,达成图像分割的目的。全局阈值分割和局部阈值分割两种。若根据分割算法常用的分割方法有图双峰法、最大类间方差法、迭代法

一、直方图双峰法

该方法依据是图像的直方图,通过对直方图进行各种分析来实现对图像的分割。图像的直方图可以看作是像素灰度值概率分布密度函数的一个近似,假设一幅图像仅包含目标和背景,那么它的直方图所代表的像素灰度值概率密度分布函数实际上就是对应目标和背景的两个单峰分布密度函数的和。图像二值化过程就是在直方图上寻找两个峰、一个谷来对一个图像进行分割,也可以通过两级函数来近似直方图。

clc;                %clc的作用就是清屏幕
clear;              %clear是删除所有的变量
close all;          %close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\4.jpg'); %读取图像
I=rgb2gray(i);
newI=im2bw(I,220/255);        %双峰法
subplot(121),
imshow(I) ;
title('原图像')
subplot(122),
imshow(newI) ;
title('双峰法')

matlab阈值分割,MATLAB图像处理,matlab,计算机视觉,图像处理

二、最大类间方差法

从统计意义上讲,方差是表征数据分布不均衡的统计量,可通过阈值对这类问题进行分割。最大类间方差法以图像的灰度直方图为依据,以目标和背景的类间方差最大为阈值选取准则,综合考虑了像素邻域以及图像整体灰度分布等特征关系,以经过灰度分类的像素类群之间产生最大方差时候的灰度数值作为图像的整体分割阈值。显然,适当的阈值使得两类数据间的方差越大越好,表明该阈值的确将两类不同的问题区分开了,同时希望属于同一类问题的数据之间的方差越小越好,表明同一类问题具有一定的相似性。

clc;                %clc的作用就是清屏幕
clear;              %clear是删除所有的变量
close all;          %close all是将所有打开的图片关掉。
i=imread('E:\我的桌面\MATLAB\练习\2.jpg'); %读取图像
I=rgb2gray(i);
subplot(121),
imshow(I);
title('原始图像')
level=graythresh(I);
BW=im2bw(I, level);              %最大类间方差法分割图像
subplot(122),
imshow(BW)
title('最大类间方差法分割图像')
disp(strcat('graythresh计算灰度阈值:', num2str(uint8(level*255))))

matlab阈值分割,MATLAB图像处理,matlab,计算机视觉,图像处理

三、迭代法

迭代法选取阈值的方法为:初始阈值选取为图像的平均灰度T0,然后用T0∞将图像的像素点分作两部分,计算两部分各自的平均灰度,小于T0的部分为TA,大于T0的部分为TB,求TA和TB的平均值T1,将T1作为新的全局阈值代替T0,重复以上过程,如此迭代,直至Tk收敛。具体实现时,首先根据初始开关函数将输入图逐个图像分为前景和背景,在第一遍对图像扫描结束后,平均两个积分器的值以确定一个阈值。用这个阈值控制开关再次将输入图分为前景和背景,并用做新的开关函数。如此反复迭带直到开关函数不在发生变化,此时得到的前景和背景即为最终分割结果。

  clc;                %clc的作用就是清屏幕
	clear;              %clear是删除所有的变量
	close all;          %close all是将所有打开的图片关掉。
	i=imread('E:\我的桌面\MATLAB\练习\2.jpg'); %读取图像
	f=rgb2gray(i);
	subplot(121);
    imshow(f);
    title('原始图像');
    f=double(f);                %下面进行迭代阈值二值化
    T=(min(f(:))+max(f(:)))/2;
    done=false;
    i=0;
    while ~done
        r1=find(f<=T);
        r2=find(f>T);
        Tnew=(mean(f(r1))+mean(f(r2)))/2;
        done=abs(Tnew-T)<1;
        T=Tnew;
        i=i+1;
    end
    f(r1)=0;
    f(r2)=1;
    subplot(122);
    imshow(f);
    title('迭代阈值二值化图像');

matlab阈值分割,MATLAB图像处理,matlab,计算机视觉,图像处理
有时候几种方法可能取得是同一种效果。文章来源地址https://www.toymoban.com/news/detail-518146.html

到了这里,关于matlab中图像分割技术之二阈值分割的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字图像处理实验(六)|图像分割{阈值分割、直方图法、OTUS最大类间方差法(edge、im2dw、imfilter、imresize)、迭代阈值法、点检测}(附matlab实验代码和截图)

    1 理解阈值分割的依据及确定阈值的方法; 2 掌握常用的边缘检测算子的使用方法,加深对不同算子优缺点的理解; 3 能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能; 1. 直方图法 测试图像:coins.png 原理:观察该图像的直方图,手动选取谷底点作为阈值对

    2024年02月05日
    浏览(61)
  • MATLAB图像分割之阈值分割

            可以通过图像全局的信息,例如整个图像的灰度直方图。如果在整个图像中只使用一个阈值,则这种方法叫做全局阈值法,整个图象分成两个区域,即目标对象(黑色)和背景对象(白色)。全局阈值将整个图像的灰度阈值设置为常数。 I=imread(\\\'veg.png\\\'); figure,imshow(I); I2=r

    2024年02月07日
    浏览(45)
  • Matlab图像处理-迭代式阈值选择法

      基本思想 迭代式阈值选择法的基本思想是:开始时,选择一个阈值作为初始估计值,然后按某种策略不断地改进这一估计值,直到满足给定的准则为止。在迭代过程中,关键之处在于选择什么样的阈值改进策略。好的阈值改进策略应该具备两个特征:一是能够快速收敛,二

    2024年02月09日
    浏览(37)
  • Matlab图像处理-最大类间方差阈值选择法(Otsu)

    基本思想 最大类间方差阈值选择法又称为 Otsu 算法,该算法是在灰度直方图的基础上用最小二乘法原理推导出来的,具有统计意义上的最佳分割阈值。它的基本原理是以最佳阈值将图像的灰度直方图分割成两部分,使两部分之间的方差取得最大值,即分离性最大。 示例代码

    2024年02月09日
    浏览(38)
  • Matlab遗传算法道路图像阈值分割(附上完整源码)

    图像阈值分割是图像处理中常用的一种方法,用于将图像分割为不同的区域。本文介绍了遗传算法在道路图像阈值分割中的应用。首先,对图像进行预处理,包括图像的灰度化和噪声去除。然后,通过遗传算法优化阈值的选择,以得到最佳的分割结果。实验结果表明,遗传算

    2024年02月12日
    浏览(38)
  • 【图像处理】基于收缩系数的粒子群优化和引力搜索算法的多级图像阈值研究【CPSOGSA】(Matlab代码实现)

      💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥   🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码及文献

    2024年02月12日
    浏览(50)
  • 图像处理之阈值分割[全局阈值、Otsu阈值和迭代式阈值分割]

    一、阈值分割基本定义 阈值分割技术是最经典和流行的图像分割方法之一,也是最简单的一种图像分割方法。此技术 关键在于寻找适当的灰度阈值,通常是根据图像的灰度直方图来选取。它是用一个或几个阈值将图像的灰度级分为几个部分,认为属于同一个部分的像素是同

    2024年02月03日
    浏览(37)
  • 如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)

    在 MATLAB 中进行图像分割有多种方法,下面介绍一些常用的方法: 基于阈值的二值化分割 这是一种最简单的分割方法,将图像分为两个部分:背景和前景。其主要思想是,选择一个阈值,将图像中的像素值与阈值进行比较,将像素值大于阈值的像素标记为前景(白色),将像

    2024年02月12日
    浏览(43)
  • 【图像分割】基于浣熊优化算法COA的Otsu(大津法)多阈值电表数字图像分割 电表数字识别【Matlab代码#52】

    长鼻浣熊优化算法(Cоati Optimization Algorithm,COA)是一种启发式优化算法,灵感来源于长鼻浣熊(Coati)的行为策略。长鼻浣熊优化算法基于长鼻浣熊在觅食过程中的特性和行为模式。长鼻浣熊是一种树栖动物,具有长而灵活的鼻子,用于觅食和捕食。它们通过嗅觉感知周围环

    2024年02月16日
    浏览(38)
  • 【数字图像处理】实验三 图像分割(MATLAB实现)

    目录 一、实验意义及目的 二、实验内容 三、Matlab 相关函数介绍 四、算法原理 五、参考代码及扩展代码流程图 (1)参考代码流程图 (2)扩展代码流程图 六、参考代码 七、实验要求 (1)尝试不同的阈值选择方法,实现灰度图像二值化 (2)变换参数实现形态学滤波,查看滤波

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包