在計算機視覺領域，影像分割（segmentation）指的是將數字影像細分為多個影像子區域（畫素的集合）（也被稱作超畫素）的過程。影像分割的目的是簡化或改變影像的表示形式，使得影像更容易理解和分析。Linda G Shapiro and George C Stockman 2001Computer Vision pp 279325 New Jersey PrenticeHall ISBN 0130307963 影像分割通常用於定點陣圖像中的物體和邊界（線，曲線等）。更精確的，影像分割是對影像中的每個畫素加標籤的一個過程，這一過程使得具有相同標籤的畫素具有某種共同視覺特性。 影像分割的結果是影像上子區域的集合（這些子區域的全體覆蓋了整個影像），或是從影像中提取的輪廓線的集合（例如邊緣檢測）。一個子區域中的每個畫素在某種特性的度量下或是由計算得出的特性都是相似的，例如顏色、亮度、紋理。鄰接區域在某種特性的度量下有很大的不同。 分割操作也可以利用畫素的全域性和區域性特性來完成。全域性特性是透過多個畫素的均值和物體的連續邊緣來計算，而區域性特性則由連續畫素和影像邊界的相互作用來表徵。透過改進的加權函式來適應區域性項和全域性項之間的權重，可以顯著提高分割速度。 影像分割的應用 影像分割在實際中的應用包括： 醫學影像 Dzung L Pham Chenyang Xu and Jerry L Prince 2000Current Methods in Medical Image Segmentation Annual Review of Biomedical Engineering volume 2 pp 315337，包括 腫瘤和其他病理的定位 組織體積的測量 計算機引導的手術 診斷 治療方案的定製 解剖學結構的研究 在衛星影像中定位物體（道路、森林等） 人臉識別 指紋識別 交通控制系統 Brake light detection 機器視覺 現已有許多各種用途的影像分割演算法。對於影像分割問題沒有統一的解決方法，這一技術通常要與相關領域的知識結合起來，這樣才能更有效的解決該領域中的影像分割問題。 二值化 二值化是最簡單的影像分割方法，會根據特定的限幅值將灰度圖轉換為黑白圖，該值也稱閾值。 該方法的關鍵在於如何選取閾值。工業上所採用的方法有很多，如大津演算法和 K 平均演算法。 基於畫素強度，此方法將影像劃分為兩部分，即畫素值低於閾值和畫素值高於閾值。在許多應用中，彩色影像分割需要多階段閾值法。為了分割紅、綠和藍色分量，可能需要多個最佳閾值。未來可能需要更多的閾值，但更多的閾值會降低分割過程的效能。多級閾值分割的主要缺點是執行時間過長。在處理低質量影像時，可能會導致閾值錯誤預測。改進的 Salp Swarm 演算法可以最小化閾值數量，以確保有效的分割過程。改進的 Grasshopper Optimization 演算法、Metaheuristic 演算法、Firefly 演算法和新型基於群體的 Bee Foraging 演算法也被用於最佳化閾值。 聚類法 K 均值演算法是一種將影像分割成 K 個聚類的迭代技術。基本演算法如下： 首先從 n 個數據物件任意選擇 k 個物件作為初始聚類中心； 對於所剩下其它物件，則根據它們與這些聚類中心的相似度（距離），分別將它們分配給與其最相似的（聚類中心所代表的）聚類； 然後再計算每個所獲新聚類的聚類中心（該聚類中所有物件的均值）； 重複第 2 和 3 步驟，直至收斂（聚類不再發生變化）。 這裡，距離指畫素與聚類中心之間絕對偏差或偏差的平方。偏差通常用畫素顏色、亮度、紋理、位置，或它們的加權組合。K 值可以手動選取、隨機選取、或其它方式得到。此演算法保證收斂，但它可能不會返回最佳的解決方案。該解決方案的質量取決於最初的一組叢集和 K 值。 直方圖法 相對於其他的影像分割演算法來說，基於直方圖的方法是一種效率非常高的方法，因為通常來說，該方法只需要對整幅圖片掃描一遍即可。該方法對於整幅影像建立一張直方圖，並透過圖中的峰和谷來進行分類。顏色與灰度是通常進行直方圖統計的特徵。 邊緣檢測 邊緣檢測主要是影像的灰度變化的度量、監測和定位，其實質就是提取影像中不連續部分的特徵。邊緣檢測在影像處理中比較重要，邊緣檢測的結果是影像分割技術所依賴的重要特徵，因此邊緣檢測是影像分割領域的一部分。邊緣檢測常用於計算機視覺、武器跟蹤控制及自控制式的車船運動研究等領域。 首先介紹影像邊緣檢測，具體就梯度運算元、kirsch 運算元、laplaciangauss 運算元、canny 運算元、log 濾波運算元、sobel 運算元、Robert 運算元、prewitt 運算元邊緣檢測方法介紹檢測原理並透過程式設計實現，比較各種方法的處理結果。 區域生長 區域生長的基本思想是將具有相似性質的畫素集合起來構成區域。具體先對每個需要分割的區域找一個種子畫素作為生長的起點，然後將種子畫素周圍鄰域中與種子畫素具有相同或相似性質的畫素（根據某種事先確定的生長或相似準則來判定）合併到種子畫素所在的區域中。將這些新畫素當做新的種子畫素繼續進行上面的過程，直到再沒有滿足條件的畫素可被包括進來，這樣，一個區域就長成了。 水平集方法 水平集方法最初由 Osher 和 Sethian 提出，目的是用於介面追蹤。在 90 年代末期被廣泛應用在各種影像領域。這一方法能夠在隱式有效的應對曲線 曲面演化問題。基本思想是用一個符號函式表示演化中的輪廓（曲線或曲面），其中符號函式的零水平面對應於實際的輪廓。這樣對應於輪廓運動方程，可以容易的匯出隱式曲線 曲面的相似曲線流，當應用在零水平面上將會反映輪廓自身的演化。水平集方法具有許多優點：它是隱式的，引數自由的，提供了一種估計演化中的幾何性質的直接方法，能夠改變拓撲結構並且是本質的。 小波變換方法 小波變換常被用來抽取影像的特徵，並能應用在去除雜訊、邊界偵測、辨識等問題，因此也能用來處理影像分割的問題。Andrea Gavlasova 在 2006 年被提出的 Wavelet Based Image Segmentation，示範了小波變換用來處理影像分割的流程，整個演演算法的流程如下： 令原影像的大小為 NxN，對影像中每 4x4 的區域做使用哈爾變換的離散小波轉換，以抽取出影像的特徵。 計算抽取出的特徵的 energy 以及 contrast，作為新的特徵，計算公式如下 Energysum_ij1N C_ij2 Contrastsum_ij1N ij2C_ij 對上一步所算出的特徵矩陣，計算縱軸和橫軸畫素兩兩之間的差，藉此找出影像中的物體邊界，作為初步的分割結果。 在初步的分割結果會有瑕疵和雜點，這是因為上一步相減兩兩畫素的結果。為了讓結果更平滑，就使用 circular averaging filter 來過濾分割的結果。 將輸出取閾值，變成能夠代表物體邊界的黑白影像，畫素值為一的部份即代表物體邊界。 將黑白的分隔影像骨架化 skeletonize，讓輸出能以白色細線來表示要分割的物體邊界，完成影像分割。 請參閱 計算機視覺 資料聚類 圖論 直方圖 基於影像的網格 K 均值演算法 Pulsecoupled networks Range image segmentation 區域生長 大津演算法 GrabCut 參考文獻 外部連結 Some sample code that performs basic segmentation by Syed Zainudeen University Technology of Malaysia Generalized Fast Marching method by Forcadel et al 2008 for applications in image segmentation Image Processing Research Group An Online Open Image Processing Research Community Segmentation methods in image processing and analysis and Minimizing energy to segment images by Mathworks More image segmentation methods with detailed algorithms by YuHsiang Wang 王昱翔 National Taiwan University Taipei Taiwan ROC Online demonstration of piecewise linear image segmentation by IPOL Journal