大津閾值法MATLAB自定義程式實現

2021-10-07 14:37:34 字數 1328 閱讀 5762

一、基本原理:使用不同的閾值對影象進行分割為前景和背景,當兩者的類間方差最大時,所對應的閾值即為最佳閾值。

二、演算法步驟:

(1)設定閾值t;

(2)利用t將影象分割為c1和c2;

(3)計算c1和c2佔整幅影象的比重w1、w2以及它們的平均灰度μ1和μ2;

(4)計算類間方差g=w1(μ1-μ)^2+w2(μ2-μ),其中μ為整幅影象的平均灰度,μ=w1μ1+w2μ2,將兩式合併可得到:

g=w1w2(μ1-μ2)^2

(5)找出最大的類間方差g所對應的t對影象進行分割。

三、matlab**`

% 大津閾值法

clear;clc;

i =imread

('lenagray.bmp');

i =double

(i);

[m,n]

=size

(i);

t =min(i

(:))

:max(i

(:))

;%獲得所有可能的閾值

g =;

for i =1:

length

(t)

c1 =

i(i>=

t(i));

c2 =

i(i<

t(i));

w1 =

numel

(c1)

/(m*n)

;%計算c1的權重

w2 =

numel

(c2)

/(m*n)

;%計算c2的權重

u1 =

mean

(c1)

;%c1平均灰度

u2 =

mean

(c2)

;%c2平均灰度

g(i)= w1*w2*

(u1-u2)^2

;%類間方差

endmax_t =

t(g==

max(g));

%使用g中的最大值的標號作為t的索引

i(i>=max_t)

=255

;%進行閾值分割

i(i;imshow

(logical

(i))

;%影象顯示

四、結果顯示

自適應閾值分割 大津法(OTSU演算法)C 實現

大津法是一種影象灰度自適應的閾值分割演算法,是1979年由日本學者大津提出,並由他的名字命名的。大津法按照影象上灰度值的分布,將影象分成背景和前景兩部分看待,前景就是我們要按照閾值分割出來的部分。背景和前景的分界值就是我們要求出的閾值。遍歷不同的閾值,計算不同閾值下對應的背景和前景之間的類內方差,當...

自適應閾值分割 最大類間方差法 大津法 OTSU

最大類間方差法是由日本學者大津 nobuyuki otsu 於1979年提出的,是一種自適應的閾值確定的方法,又叫大津法,簡稱otsu。它是按影象的灰度特性,將影象分成背景和目標兩部分,或者說,是尋找乙個閾值為k,將影象的顏色分為1,2.k和k 1.256兩部分。如何確定這個閾值k?演算法分類的原理...

Matlab 自定義函式擬合

randomaccess j0237 2 reference basketballpass,bqsqare,blowingbubbles,racehorses,close all clear all rd 1507.09 40.64 755.76 36.89 376.83 33.56 196.96 ...