大津算法OTSU

1烫映、大津算法OTSU是一種常用的閾值化分割方法,既然是閾值化方法就是需要找到一個閾值兢交,利用這個閾值對圖像中所有的像素點進行區(qū)分薪捍,哪些像素點屬于前景,哪些像素點屬于背景配喳。

2酪穿、如何找到這個閾值呢?OTSU算法中有一個假設(shè)晴裹,最優(yōu)的閾值是能夠使圖像中的前景和背景之間的差最大的那個值被济,所以大津算法又名最大類間差算法。

3涧团、我們來定義這個類間差(漢字公式只磷,請見諒 ≥???≤):
類間差 = 前景比重 x 背景比重 x (前景均值 - 背景均值)^2
這個比重其實就是該類所擁有的像素個數(shù)滞时,均值就是該類所擁有的像素的灰度均值煤杀。

4、有了類間差公式后娩鹉,閾值就直接遍歷0~255阿迈,不斷的計算類間差值元媚,找到最大的類間差值就可以找到最優(yōu)的閾值了。
python code:

import cv2 as cv
import math
import numpy as np
def otsu_threshold(img):
    h=img.shape[0]
    w=img.shape[1]
    m=h*w   # 圖像像素點總和
    otsuimg=np.zeros((h,w),np.uint8)
    threshold_max=threshold=0   # 定義閾值
    histogram=np.zeros(256,np.int32)   # 初始化各灰度級個數(shù)統(tǒng)計參數(shù)
    probability=np.zeros(256,np.float32)   # 初始化各灰度級占圖像中的分布的統(tǒng)計參數(shù)
    for i in range (h):
        for j in range (w):
            s=img[i,j]
            histogram[s]+=1   # 統(tǒng)計灰度級中每個像素在整幅圖像中的個數(shù)
    for k in range (256):
        probability[k]=histogram[k]/m   # 統(tǒng)計每個灰度級占圖像中的分布
    for i in range (255):
        w0 = w1 = 0  # 定義前景像素點和背景像素點灰度級占圖像中的分布
        fgs = bgs = 0  # 定義前景像素點灰度級總和and背景像素點灰度級總和
        for j in range (256):
            if j<=i:   # 當前i為分割閾值
                w0+=probability[j]   # 前景像素點占整幅圖像的比例累加
                fgs+=j*probability[j]
            else:
                w1+=probability[j]   # 背景像素點占整幅圖像的比例累加
                bgs+=j*probability[j]
        u0=fgs/w0   # 前景像素點的平均灰度
        u1=bgs/w1   # 背景像素點的平均灰度
        g=w0*w1*(u0-u1)**2   # 類間方差
        if g>=threshold_max:
            threshold_max=g
            threshold=i
    print(threshold)
    return threshold

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苗沧,一起剝皮案震驚了整個濱河市刊棕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌待逞,老刑警劉巖甥角,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異识樱,居然都是意外死亡蜈膨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門牺荠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人驴一,你說我怎么就攤上這事休雌。” “怎么了肝断?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵杈曲,是天一觀的道長驰凛。 經(jīng)常有香客問我,道長担扑,這世上最難降的妖魔是什么恰响? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮涌献,結(jié)果婚禮上胚宦,老公的妹妹穿的比我還像新娘。我一直安慰自己燕垃,他們只是感情好枢劝,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卜壕,像睡著了一般您旁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轴捎,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天鹤盒,我揣著相機與錄音,去河邊找鬼侦副。 笑死侦锯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的跃洛。 我是一名探鬼主播率触,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汇竭!你這毒婦竟也來了葱蝗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤细燎,失蹤者是張志新(化名)和其女友劉穎两曼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玻驻,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡悼凑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了璧瞬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片户辫。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嗤锉,靈堂內(nèi)的尸體忽然破棺而出渔欢,到底是詐尸還是另有隱情,我是刑警寧澤瘟忱,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布奥额,位于F島的核電站苫幢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垫挨。R本人自食惡果不足惜韩肝,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望九榔。 院中可真熱鬧哀峻,春花似錦、人聲如沸帚屉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽攻旦。三九已至喻旷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牢屋,已是汗流浹背且预。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烙无,地道東北人锋谐。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像截酷,于是被迫代替她去往敵國和親涮拗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 大津算法(OTSU)在圖像處理領(lǐng)域迂苛,我們會遇到如下需求:把圖像中的目標物體和背景分開三热。比如背景用白色表示,目標物體...
    invisprints閱讀 5,772評論 0 3
  • 邊緣檢測是圖像處理和計算機視覺的基本問題三幻,邊緣檢測的目的是標識數(shù)字圖像中亮度變化明顯的點就漾,圖像屬性中的顯著變化通常...
    Daniel大人閱讀 6,109評論 0 0
  • 此系列的其他文章:OpenCV算法學(xué)習(xí)筆記之初識OpenCVOpenCV算法學(xué)習(xí)筆記之幾何變換OpenCV算法學(xué)習(xí)...
    Aengus_Sun閱讀 5,092評論 0 5
  • 1.簡單閥值cv2.threshold() 當像素值高于閥值時,我們給這個像素賦予一個新值(可能是白色)念搬,否則我們...
    Zoe_C閱讀 918評論 0 0
  • 虛里人家緲緲煙 比翼飛鳥雙雙還 無限人生憂愁事 山河繁茂與我閑
    奧_0bf2閱讀 213評論 0 0