https://www.jianshu.com/p/4ffdf060fe57
    http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html
    https://blog.csdn.net/yukinoai/article/details/88575861
    https://www.cnblogs.com/april0315/p/13680107.html
    https://alex-phd.blogspot.com/2014/03/blog-post_9125.html
    https://alex-phd.blogspot.com/?view=flipcard
    所謂圖像分割指的是根據灰度、顏色、紋理和形狀等特徵把圖像劃分成若干互不交迭的區域,並使這些特徵在同一區域內呈現出相似性,而在不同區域間呈現出明顯的差異性。我們先對目前主要的圖像分割方法做個概述,後面再對個別方法做詳細的瞭解和學習。

    1、基於閾值的分割方法
    閾值法的基本思想是基於圖像的灰度特徵來計算一個或多個灰度閾值,並將圖像中每個像素的灰度值與閾值相比較,最後將像素根據比較結果分到合適的類別中。因此,該類方法最為關鍵的一步就是按照某個準則函數來求解最佳灰度閾值。
    2、基於邊緣的分割方法
    所謂邊緣是指圖像中兩個不同區域的邊界線上連續的像素點的集合,是圖像局部特徵不連續性的反映,體現了灰度、顏色、紋理等圖像特性的突變。通常情況下,基於邊緣的分割方法指的是基於灰度值的邊緣檢測,它是建立在邊緣灰度值會呈現出階躍型或屋頂型變化這一觀測基礎上的方法。
    階躍型邊緣兩邊像素點的灰度值存在著明顯的差異,而屋頂型邊緣則位於灰度值上升或下降的轉折處。正是基於這一特性,可以使用微分算子進行邊緣檢測,即使用一階導數的極值與二階導數的過零點來確定邊緣,具體實現時可以使用圖像與模板進行卷積來完成。
    3、基於區域的分割方法
    此類方法是將圖像按照相似性準則分成不同的區域,主要包括種子區域生長法、區域分裂合併法和分水嶺法等幾種類型。
    種子區域生長法是從一組代表不同生長區域的種子像素開始,接下來將種子像素鄰域裡符合條件的像素合併到種子像素所代表的生長區域中,並將新添加的像素作為新的種子像素繼續合併過程,直到找不到符合條件的新像素為止。該方法的關鍵是選擇合適的初始種子像素以及合理的生長準則。
    區域分裂合併法(Gonzalez,2002)的基本思想是首先將圖像任意分成若干互不相交的區域,然後再按照相關準則對這些區域進行分裂或者合併從而完成分割任務,該方法既適用於灰度圖像分割也適用於紋理圖像分割。
    分水嶺法(Meyer,1990)是一種基於拓撲理論的數學形態學的分割方法,其基本思想是把圖像看作是測地學上的拓撲地貌,圖像中每一點像素的灰度值表示該點的海拔高度,每一個局部極小值及其影響區域稱為集水盆,而集水盆的邊界則形成分水嶺。該算法的實現可以模擬成洪水淹沒的過程,圖像的最低點首先被淹沒,然後水逐漸淹沒整個山谷。當水位到達一定高度的時候將會溢出,這時在水溢出的地方修建堤壩,重複這個過程直到整個圖像上的點全部被淹沒,這時所建立的一系列堤壩就成為分開各個盆地的分水嶺。分水嶺算法對微弱的邊緣有著良好的響應,但圖像中的噪聲會使分水嶺算法產生過分割的現象。
    4、基於圖論的分割方法
    此類方法把圖像分割問題與圖的最小割(min cut)問題相關聯。首先將圖像映射為帶權無向圖G=,圖中每個節點N∈V對應於圖像中的每個像素,每條邊∈E連接著一對相鄰的像素,邊的權值表示了相鄰像素之間在灰度、顏色或紋理方面的非負相似度。而對圖像的一個分割s就是對圖的一個剪切,被分割的每個區域C∈S對應著圖中的一個子圖。而分割的最優原則就是使劃分後的子圖在內部保持相似度最大,而子圖之間的相似度保持最小。基於圖論的分割方法的本質就是移除特定的邊,將圖劃分為若干子圖從而實現分割。目前所瞭解到的基於圖論的方法有GraphCut,GrabCut和Random Walk等。
    5、基於能量泛函的分割方法
    該類方法主要指的是活動輪廓模型(active contour model)以及在其基礎上發展出來的算法,其基本思想是使用連續曲線來表達目標邊緣,並定義一個能量泛函使得其自變量包括邊緣曲線,因此分割過程就轉變為求解能量泛函的最小值的過程,一般可通過求解函數對應的歐拉(Euler.Lagrange)方程來實現,能量達到最小時的曲線位置就是目標的輪廓所在。按照模型中曲線表達形式的不同,活動輪廓模型可以分為兩大類:參數活動輪廓模型(parametric active contour model)和幾何活動輪廓模型(geometric active contour model)。
    參數活動輪廓模型是基於Lagrange框架,直接以曲線的參數化形式來表達曲線,最具代表性的是由Kasset a1(1987)所提出的Snake模型。該類模型在早期的生物圖像分割領域得到了成功的應用,但其存在著分割結果受初始輪廓的設置影響較大以及難以處理曲線拓撲結構變化等缺點,此外其能量泛函只依賴於曲線參數的選擇,與物體的幾何形狀無關,這也限制了其進一步的應用。
    幾何活動輪廓模型的曲線運動過程是基於曲線的幾何度量參數而非曲線的表達參數,因此可以較好地處理拓撲結構的變化,並可以解決參數活動輪廓模型難以解決的問題。而水平集(Level Set)方法(Osher,1988)的引入,則極大地推動了幾何活動輪廓模型的發展,因此幾何活動輪廓模型一般也可被稱為水平集方法