在 VisualApplets 中的實作

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

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

圖 415. 「NormalizedCrossCorrelation.va」的基本設計結構


在影像中 來自 Camera Link Base 組態的 RGB 相機,定義了 FIRkernelNxM operator 12x12像素的影像核心。 核心大小取決於要識別的物件。 該物件與方程式中的參考影像相同 中的方程式 55。 使用運算子選擇一個色彩分量(在此處為紅色) SelectComponent 用於根據方程式識別具有 NCC 演算法的物件 55 在 HierarchicalBox NCC中。其結果是透過 DMA 將二值化影像傳送到 PC,該影像的大小與原始輸入影像相同,在識別出的物件位置處數值為「1」,在任何其他位置處為「0」。 此範例針對 RGB 測試影像「PCB.tif」進行組態,您可以在 VisualApplets 安裝目錄中的 examples\Processing\ObjectFeatures\NormalizedCrossCorrelation 下找到它。 此影像的尺寸為 1024x712 像素。在圖 416 中顯示了測試影像。

測試影像「PCB.tif」

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


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

HierarchicalBox NCC 的內容

圖 417. HierarchicalBoxNCC的內容


您可以如下所述調整設計範例以符合您選擇的影像和物件。如果您想要使用灰階影像取代 RGB 影像,只需將運算子 BaseRgbCamera 取代為運算子 BaseGrayCamera 並刪除運算子 SelectComponent。

  1. 將運算子 FIRkernelNXM_12x12 的大小調整為您要在影像中識別的物件尺寸。

  2. 在 HierarchicalBox NCC 下的「Properties」上按一下滑鼠右鍵,即可設定要尋找的物件像素數量「K」。物件大小為 12x12 時,K 為 144。您也可以在「Properties」下調整二值化閾值。 此閾值用於在結果影像中以「1」視覺化物件的位置。

  3. 在 HierarchicalBox NCC 中的 CONST 運算子 One 輸出端,將核心的欄數與列數調整為物件尺寸。

  4. 載入要識別之物體的像素值檔案(即 ) 至 FIRoperatorNxM IxR 位於 HierarchicalBox NCC。您可以使用程式 "NCC.m" 來建立此檔案 ("R.txt")。

  5. 將相同的檔案載入至 HierarchicalBox Sigma_R 中 Rmean_Mult_K 的 FIRoperatornxM NCC。

  6. 將檔案 "Rpower2.txt"(透過 Matlab 程式 "NCC.m" 建立)載入至 FIRoperatorNxM Sum_R_R 位於 HierarchicalBox Sigma_R。 此檔案的內容為物體像素值(除以 2)的平方 .

在 HierarchicalBox Division (參見圖 417)最終結果 方程式 55 透過除法運算計算得出 DIV。您可以查看方塊的內容 Division 如圖 418.

HierarchicalBox Division 的內容

圖 418. HierarchicalBox區段的內容


除法運算執行時帶有六個小數位,因此結果 介於 -64 與 64 之間,而非 -1 與 1 之間。為了視覺化所識別物體的位置,結果影像會透過以下方式進行二值化: IS_GreaterEqual operator Threshold。在此範例中,閾值設為 50。您可以直接在運算子中變更此數值,或者如上述透過在方塊上按一下「滑鼠右鍵」來變更 NCC。傳送至 PC 的結果影像如圖所示。 419.位於 PCB 板左下角小孔位置的像素(見圖 416)會取得數值「1」,而所有其他像素則為「0」。結果影像會透過 DMA 傳送至 PC。除此之外,它也可以作為後續影像處理步驟的輸入。

在物件位置帶有「1」的結果影像(縮放檢視)

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