在 VisualApplets 中的實作

在「NormalizedcrossCorreslation.va」中,是根據式 (55) 所描述的 NCC 演算法,在影像中識別出一個物件。 在圖387中,您可以看到「NormalizedCrossCorrelation.vad」的基本設計結構。

「NormalizedCrossCorrelation.vad」的基本設計結構

圖 387. 「NormalizedCrossCorrelation.vad」的基本設計結構


在一張圖片中 來自Camera Link 基礎配置中的 RGB 攝影機 定義了一個 12x12 像素的影像核心,其定義如下: FIRkernelNxM operator 12x12. 核大小取決於待識別的物件。 該物件與參考影像完全相同 在式中 55. 透過運算子選取一個顏色成分(此處為紅色) SelectComponent 根據公式,利用 NCC 演算法識別物件。 55 在 HierarchicalBox 中 NCC. 結果會產生一張二值圖像,其尺寸與原始 輸入圖像相同,在識別出的物件位置呈現值「1」,其他位置則為「0」,並透過 DMA 傳送至 PC。 此範例是針對 RGB 測試影像「PCB.tif」所進行的設定,您可在VisualApplets 的安裝目錄下,於 examples\Processing\ObjectFeatures\NormalizedCrossCorrelation 中找到該檔案。 此影像的尺寸為 1024x712 像素。如圖所示。 388 顯示測試圖像。

測試圖像「PCB.tif」

圖 388. 測試圖像「PCB.tif」


PCB 板左下角的六個小孔,即是本範例中需辨識的目標。目標 的尺寸為 12x12 像素。 在方框內的設計中 NCC (參見圖387)中的設計中,已實作根據式 55定位這些目標的演算法。關於對應方程式部分的進一步資訊,請參閱連結及 HierarchicalbBoxes 旁邊的註解框。在圖389中,您可以看到 HierarchicalBox 的內容 NCC的內容。

HierarchicalBox NCC 的內容

圖 389. HierarchicalBoxNCC的內容


您可以依照以下說明,將此設計範例套用至您選擇的圖片與物件。若您想使用 灰階圖片而非 RGB 圖片,只需將 operator BaseRgbCamera 替換為 BaseGrayCamera ,並刪除操作員 SelectComponent。

  1. 調整運算子的大小 FIRkernelNXM_12x12 的尺寸,使其與您要在影像中辨識的物件尺寸相符。

  2. 在 HierarchicalBox 上「按右鍵」 NCC 在「屬性」中,您可以設定要搜尋的物件的 像素數「K」。若物件大小為 12x12,則 K 為 144。在「屬性」中,您也可以調整二值化 閾值。 此閾值用於將物件的位置以「1」顯示於結果影像中。

  3. 將核心的列數和行數調整為 CONST 運算子 One 在 HierarchicalBox 中的 NCC.

  4. 載入待識別物件的像素值檔案(該檔案為 ) 至 FIRoperatorNxM IxR 在 HierarchicalBox 中 NCC. 您可以使用程式「NCC.m」來建立此檔案(「R.txt」)。

  5. 將同一份檔案載入至 FIRoperatornxM Rmean_Mult_K 中,位於 HierarchicalBox 內 Sigma_R 位於階層式框中 NCC.

  6. 將檔案「Rpower2.txt」(由 Matlab 程式「NCC.m」所建立)載入至 FIRoperatorNxM Sum_R_R 在 HierarchicalBox 中 Sigma_R. 此檔案的內容為物件的像素值(除以 2)的二的冪次 .

在 HierarchicalBox 部門 (參見圖 389) 最終結果 關於該方程式的 55 是透過除法運算計算得出的 DIV. 您可以查看方框中的內容 部門 如圖 390.

HierarchicalBox 分區的內容

圖 390. HierarchicalBox區段的內容


除法運算採用六位小數,也就是說,運算結果為 範圍 介於 -64 至 64 之間,而非 -1 至 1。為了可視化已識別物件的位置,會將結果影像二值化 並 IS_GreaterEqual operator 閾值. 此範例中,閾值設定為 50。您可以直接在運算子中調整此數值,或如上所述 透過在方塊上「按右鍵」來調整 NCC. 傳送至電腦的結果圖如圖所示。 391. 位於 PCB 板 左下角的小孔位置處的像素(參見圖 388) 取得數值「1」,其餘所有像素則為「0」。結果圖像會透過 DMA 傳送至個人電腦。 此外,該圖像亦可作為後續影像處理步驟的輸入。

在物體位置顯示「1」的結果圖像(放大視圖)

圖 391. 物體位置顯示為「1」的結果圖像(放大視圖)