直方圖的實例

下圖顯示10個在淺灰色背景上的深色鐵環。下面將通過舉例在Correlation物件和Blob物件中檢測到此部件的情景,來描述直方圖。

使用Corr01物件的10 Rings(10環)的範例影像

含Correlation物件的直方圖

下圖顯示為Corr01物件所產生的[Histogram]對話框。其顯示畫素在各照度級別的散佈非常平均,因此可以看到影像的分散程度。您可以輕易地看到,淺色畫素比深色畫素多了許多,因為在「直方圖的實例」的範例中,影像中的大部份都是灰色背景,而非深色環。

Correlation物件「Corr01」的直方圖範例

含Blob物件的直方圖

下圖顯示在搭配Blob物件使用時的直方圖,和Correlation物件的直方圖不同。請注意,有2個附有值的垂直條附著在基底上,稱為ThresholdLow和ThresholdHigh。這些屬於Blob物件屬性,用於指定將納入哪些照度等級,作為部份已找到的值檢出,以及哪些將納入作為背景的一部份。

Blob物件「Blob01」的直方圖範例(淺色背景上的深色物件)

在ThresholdLow和ThresholdHigh滑桿之間的區域,用於針對待定義為深色或白色畫素的照度等級,為代表這些灰階的畫素進行分組(以ThresholdColor屬性進行設)。Polarity屬性定義是否要尋找淺色背景的深色物件或深色背景的淺色物件。
調整ThresholdLow和ThresholdHigh屬性
請再次查看上圖。請注意,ThresholdLow屬性設定為0,而ThresholdHigh屬性設定為128。這些值是Blob物件屬性的預設值。當我們第一次在Rings影像上執行Blob物件時(NumberToFind設定為10),會得到如下圖所顯示的結果。請注意,許多找到的值檢出Extrema,並未剛好圍繞著環的外框,在某些情況下,僅會將外框的一部分偵測為一個值檢出,或將找到的1個零件視為2個值檢出(請查看下圖的箭頭部分,代表有問題的區域)。這是因為尚未依據直方圖結果來調整ThresholdLow和ThresholdHigh屬性。


臨界值設定值不佳的的10個環影像

若使用[Histogram]對話框來檢查環影像的直方圖,將會看到大部份的灰色分佈都是從32左右的灰階開始。然後另一個大頂點是從約170開始。因為環影像中最大部份的灰色分佈是淺色背景,因此很容易看出170以上的畫素分佈是否為背景。另外,因為直方圖中另一個頂點是從大約32到170的範圍內,顯示影像較深部份(環)的分佈(所關注的部份)。ThresholdLow和ThresholdHigh值可加以調整,以便讓每個值檢出所找到的方塊皆能剛好圍繞著環的外框。您可以在[Histogram]對話框中的ThresholdHigh和ThresholdLow直條上按一下,並拖曳至如下圖所示的位置。


具有較佳臨界值設定值的環影像直方圖

若我們查看以新的ThresholdHigh和ThresholdLow設定值執行Blob物件之後的環影像,即可以看到回傳的結果較接近想要的結果。現在可透過正確的值檢出極值,找到每個環。


使用改善的臨界值設定值的10個環影像

此外,ThresholdAuto核取方塊位於對話視窗的右下角。勾選核取方塊後,可從搜尋視窗考量正確的ThresholdLow及ThresholdHigh值並加以設定。在上圖的情況中,ThresholdLow屬性設定值為0,而ThresholdHigh屬性值設定為164。ThresholdAuto核取方塊的狀態會連結至ThresholdAuto屬性值。若ThresholdAuto屬性值為”True”,則每次執行視覺序列時皆會計算臨界值。這可使值檢出偵測在照明系統變更的情況下仍可正常運作。

提示


若ThresholdAuto設為「True」,即使影像為同色(全黑或全白),如無法擷取目標工件時,設定值仍會降低至可偵測值檢出的臨界值。(至少可偵測到一個值檢出)