java 求集合平均数_图像二值化方法介绍(转载学习)
ImageJ中圖像二值化方法介紹
概述
二值圖像分析在對象識別與模式匹配中有重要作用,同時也在機器人視覺中也是圖像處理的關鍵步驟,選擇不同圖像二值化方法得到的結果也不盡相同。本文介紹超過十種以上的基于全局閾值的圖像二值化方法,其中最大值為255表示白色, 0 表示黑色,H表示圖像直方圖。imageJ重要開源分支Fiji中已經實現了全局自動閾值16種方法。
ImageJ演示
首先來看一下原圖,是一張人體細胞組織的圖像,顯示如下:
各種二值化方法生成的對應的二值圖像圖像顯示如下:
迭代方法:
默認方式是通過迭代方法來求取閾值T,通過假設閾值T來分割圖像為兩部分,對各個部分求取均值M1與M2假設T’ = (M1+M2) 不等于T則令T= T’然后繼續迭代直到兩者相等。
Huang閾值分割法:
方法來自于Huang L-K & Wang M-JJ模式識別論文《ImageThresholding By minimizing the measure of fuzziness》具體可以自己看論文。
InterModes閾值分割:
該方法假設直方圖是一個雙峰模式的直方圖,對直方圖使用平滑濾波迭代多次,知道只剩下兩個最大的峰J與K則閾值為T=(J+K)/2, 如果圖像形成直方圖只會有一個單峰或者有大片平坦區域的時候,該方法不太適合。
IsoData閾值分割:
該方法基于Ridler, TW&Calvard的論文《Picture thresholding using an iterative selection method》該方法通過給定一個隨機閾值假設127把圖像分為對象與背景進行分割,計算兩部分的均值,不斷迭代,直到閾值大于復合均值為止。最終閾值為:閾值 = (背景像素均值+對象像素均值)/2。感興趣可以自己看Paper。
Li閾值分割:
基于Li的最小交叉熵閾值迭代方法,感興趣者可以看論文《Minimum CrossEntropy Thresholding》了解更多細節。
MaxEntropy(最大熵值分割):
基于Kapur-Sahoo-Wong的《Maximum Entropy thresholdingmethod》方法實現該算法,ImageJ Fiji中已經實現。
均值方法分割:
使用灰度圖像計算所有像素值的均值作為閾值實現圖像二值化分割方法。
MinError(最小錯誤):
迭代算法基于Kittler與Illingworth的最小錯誤閾值分割方法,初始開始迭代的閾值為均值。除了ImageJ中已有實現,此方法在MATLAB中也有實現。
Minimum(最小閾值):
該方法類似于中間幀模式(InterModes),都是假設直方圖有兩個波峰,通過均值平滑濾波最終得到兩個本地最大的波峰,閾值等于yt-1>yt<=yt+1。該方法主要用于細胞圖像分析,相關論文見《TheAnalysis of cell images》。MATLAB中同樣也實現了該方法。
Moments(幾何矩閾值):
該方法是根據Tsai.W的論文《Moment-preserving thresholding: anew approach》
Otsu閾值
Otsu主要是圖像直方圖進行閾值分類,從0~255之間,然后求它們的最小內方差對應直方圖灰度索引值作為閾值實現圖像二值化,OpenCV中已經實現,而且是OpenCV2.x全局閾值二值化方法。
Percentile閾值
該方法假設前景像素ptile=0.5,然后對直方圖按照灰度強度從0~255作為每個閾值分割通過迭代尋找最小比重值,最終得到閾值T。
RenyiEntropy(雷尼熵閾值分割)
跟最大熵值方法類似,唯一不同是用Renyi熵計算公式取代廣義熵值公式。
最大熵值為:
其中q取值不同決定閾值不同。通常q取1或者2。
Shanbhag(閾值分割)
該方法同樣是基于直方圖熵值實現的閾值分割方法。具體可以參考《Utilization of information measure as a means of image thresholding》了解原理。
Triangle(三角閾值分割)
該方法是假設直方圖只有一個波峰(單峰直方圖)使用如下方法求得最大距離對應的直方圖灰度值即為閾值。OpenCV在其3.x版本中已經實現該方法。
Yen(閾值分割)
該方法是基于直方圖數據的最大相關條件實現的二值圖像分割方法。
16種方法Java源代碼實現下載地址:
https://github.com/fiji/Auto_Threshold
本篇文章轉載自http://www.onesheng.cn/chfa/fangan/251076.html,如有侵權,請告知刪除。
打開App,閱讀手記
總結
以上是生活随笔為你收集整理的java 求集合平均数_图像二值化方法介绍(转载学习)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: datetime(6) mysql_My
- 下一篇: php 中文 decode_php js