Matlab-图像分割之大津法(OTSU算法)
大津法(OTSU)是一种确定图像二值化分割阈值的算法,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大。
它被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性,将图像分成背景和前景两部分。因方差是灰度分布均匀性的一种度量,背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。但是大津法这种全局阈值分割的方法受光照不均的影响较大。
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 | P = imread ( 'rice.jpg' ); SE = strel( 'disk' , 12); tophat = imtophat(P, SE); % 矫正不均匀光照 level = graythresh(tophat); % 计算阈值 BW = imbinarize(tophat, level); % 转换为二值图 [L,n] = bwlabel(BW, 4); % 对二维二值图像中的连通分量进行标注 n % 统计连通分量的数量 subplot (1,3,1),imshow(P); subplot (1,3,2),imshow(tophat); subplot (1,3,3),imshow(BW); |
结果展示
本文作者:Khru
本文链接:https://www.cnblogs.com/khrushchefox/p/16200344.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步