目 录
一、概述
图像阈值分割方法可分为全局阈值与动态阈值两种。当图像目标物体与背景灰度相差较大时,找到一个全局阈值对图像进行分割可取得比较满意的结果。全局阈值的选取多依靠于灰度直方图,常用的方法有最大类间方差法(Otsu)和最大熵法等。当图像比较复杂,图像背景或物体灰度变化比较大,或者图像物体和背景灰度值比较接近时,利用全局阈值对图像进行分割可能会忽略图像的局部细节。基于动态阈值的分割方法对图像中的不同区域采用不同的阈值,其阈值的选取一般基于图像的局部统计信息,如局部方差、局部对比度以及曲面拟合阈值等。动态阈值分割方法可以保证计算得到平均误差最小意义下的最优阈值。
当目标图像比较复杂时,可考虑采用动态阈值对图像进行分割,其基本原理是:①将图像分割成一系列子图像;②计算出每个子图像的阈值;③将计算出来的阈值构成一个矩阵,并对其进行插值,使之成为与原图像像素数目相同大小的矩阵,设得到的矩阵为y;④将图像每一像素的灰度大小与矩阵y比较,假设目标物体为图像中较亮的部分,如该点灰度值比矩阵y对应的元素值大,则判为物体,反之则判为背景。一般情况下,动态阈值分割的效果比全局阈值分割的效果较好。但是当图像中背景灰度并不是非常均匀时,分割的二值图像中可能包含很多碎片。而且采用动态阈值分割图像时,人为地对图像分块也比较容易产生阴影和人为边界。
二、动态阈值分割原理
(1)将图像分割成一系列子图像;
(2)计算出每个子图像的阈值;
(3)将计算出来的阈值构成一个矩阵,并对其进行插值,使之成为与原图像像素数目相同大小的矩阵,设得到的矩阵为y;
(4)将图像每一像素的灰度大小与矩阵y比较,假设目标物体为图像中较亮的部分,如该点灰度值比矩阵y对应的元素值大,则判为物体,反之则判为背景。一般情况下,动态阈值分割的效果比全局阈值分割的效果较好。但是当图像中背景灰度并不是非常均匀时,分割的二值图像中可能包含很多碎片,而且采用动态阈值分割图像时,由于人们人为地对图像分块,比较容易产生阴影和人为边界,可以把动态阈值与全局阈值结合起来,以改善图像分割效果。
三、动态阈值结合全局阈值分割原理
基本步骤如下:
(1)将图像分割成一系列子图像;
(2)计算出每个子图像的阈值;
(3)将计算出来的阈值构成一个矩阵,并对其进行插值,使之成为与原图像的像素值相同大小的矩阵,设得到的矩阵为Y;
(4)利用计算出原图像的全局阈值T,构造一个与原图像像素数目相同大小的矩阵F,令F的每个元素大小都为T;
(5)构造一个矩阵M,令M=k·F+(1-k)·Y,其中k为0和1之间的常数。以M作为图像的灰度阈值,将图像的每个像素与M进行比较。设目标物体为图像中较亮的部分,若Y的值比M大,则判为物体,反之则判为背景。
当背景与物体相差比较大时,可选用较小的k值;而当背景与物体比较接近时,可选用较大的k值。具体的k值的选定可通过实验来确定。动态阈值结合全局阈值对图像进行分割结合了动态阈值图像分割与全局阈值图像分割的特点。
当k取值较小时,分割效果接近动态阈值图像分割;
当k取值较大时,分割效果接近全局阈值图像分割.
四、程序结果
基于动态阈值算法图像分割结果如图1所示。
基于全局阈值和动态阈值相结合分割方法结果如图2所示。
五、Matlab程序获取与验证
本博文演示结果均由Matlab代码实现,可私信博主获取,博主联系方式在文章最底部。
博主简介:研究方向包括信号处理、图像处理、机器视觉、深度学习、神经网络等领域。matlab代码问题、商业合作、课题选题与实验指导等均可私信交流讨论~~。 |