自适应阈值算法(大津阈值法)
最大類間方差法是由日本學(xué)者大津于1979年提出的,是一種自適應(yīng)的閾值確定的方法,又叫大津法,簡(jiǎn)稱OTSU。它是按圖像的灰度特性,將圖像分成背景和目標(biāo)2部分。背景和目標(biāo)之間的類間方差越大,說(shuō)明構(gòu)成圖像的2部分的差別越大,當(dāng)部分目標(biāo)錯(cuò)分為背景或部分背景錯(cuò)分為目標(biāo)都會(huì)導(dǎo)致2部分差別變小。因此,使類間方差最大的分割意味著錯(cuò)分概率最小。對(duì)于圖像I(x,y),前景(即目標(biāo))和背景的分割閾值記作T,屬于前景的像素點(diǎn)數(shù)占整幅圖像的比例記為ω0,其平均灰度μ0;背景像素點(diǎn)數(shù)占整幅圖像的比例為ω1,其平均灰度為μ1。圖像的總平均
灰度記為μ,類間方差記為g。假設(shè)圖像的背景較暗,并且圖像的大小為M×N,圖像中像素的灰度值小于閾值T的像素個(gè)數(shù)記作N0,像素灰度大于閾值T的像素個(gè)數(shù)記作N1,則有:
ω0=N0/ M×N ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
ω1=N1/ M×N ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
N0+N1=M×N ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
ω0+ω1=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
μ=ω0μ0+ω1μ1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
g=ω0(μ0-μ)2+ω1(μ1-μ)2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(6)
將式(5)代入式(6),得到等價(jià)公式:
? ? ? ? ? ? g=ω0ω1(μ0-μ1)^2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(7)
采用遍歷的方法得到使類間方差最大的閾值T,即為所求。
由于,當(dāng)圖像在254或255灰度值上沒(méi)有像素點(diǎn)時(shí),求平均灰度時(shí)會(huì)出現(xiàn)0/0的情況,為避免拋出異常,可在當(dāng)出現(xiàn)前景像素?cái)?shù)為零時(shí),跳出循環(huán)。
以下是c++代碼(用到OpenCV):
總結(jié)
以上是生活随笔為你收集整理的自适应阈值算法(大津阈值法)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Jedis使用测试——连接本地及远程的R
- 下一篇: JQuery Datatables e