跳至內容
測試伺服器
開發伺服器

Measurements Basic vTool#

「測量」vTool 可讓您測量影像中邊緣的位置與距離。

「測量」vTool 透過「影像」輸入引腳接收影像,並透過其輸出引腳輸出關於所偵測邊緣的資訊。

若您在測量前使用「校準 vTool」,並將兩個 vTool 的「變換」輸出/輸入引腳相互連接,則「校準 vTool」提供的變換資料將使「測量 vTool」能夠以世界座標系中的公尺為單位,輸出匹配點的位置與距離(此時「Positions_m」與「Distances_m」輸出引腳將可使用)。

若您在測量前先使用「配對」(Matching)vTool 以及「反轉變換」(Image Alignment )vTool,即可測量出位於與參考影像不同位置的物件。透過InverseTf輸入接腳提供的變換,可讓 vTool 輸出針對原始輸入影像的測量結果。

如需購買「Measurements Basic vTool」的授權,請造訪Basler 網站。

Measurements Basic vTool

運作原理#

透過定義影像設定檔並將其套用至輸入影像,您可以獲取以下資訊:

  • 邊的位置
  • 邊的振幅
  • 邊與邊之間的距離
  • 包含邊緣可視化圖的區域

影像輪廓定義#

最簡單的說,影像剖面是一條長度為x像素、寬度為 1 像素的直線。沿著其長度方向,影像中的灰階值會以 1 像素為間隔進行採樣。從數學角度來看,影像剖面是一種將一維像素位置陣列映射至其對應影像灰階值的函數。

為了獲得更好的效果,Basler 建議將輪廓寬度增加至 1 像素以上的值。一般來說,輪廓越寬,影像雜訊的影響就越小。若增加寬度,輪廓基本上會變成一個矩形,且輪廓線會穿過其中心。

在 vTool 的設定對話方塊中,您可以透過影像顯示區域中的控制點來移動、調整大小及旋轉測量矩形,或者在「矩形設定」區域中手動輸入所需資訊。此外,您也可以透過「矩形輸入接腳」提供一個矩形。若採用此方式,「矩形設定」區域中的選項將無法使用(唯讀)。

個別剖面值的生成方式,是從剖面線上方和下方等比例地採集影像像素。為說明此原理,請想像一個寬度為 w 的剖面。在生成剖面值時,會考慮剖面線上方 w/2 個像素以及下方 w/2 個像素。

資訊

作為參考,對於細小的邊緣,應選擇至少 5 至 7 像素的輪廓寬度。

您還應考慮到,邊緣的位置可能會與輪廓線在垂直方向上產生偏差。Basler 建議測試幾張不同的影像,以了解物體的實際偏移幅度有多大。根據測試結果,您可以選擇輪廓的寬度。例如,如果邊緣長度為 50 像素,且物體的(垂直)位移為 30 像素,則應選擇 20 像素的輪廓寬度。

將矩形調整至輪廓線與邊緣成直角的方位。

Edge Detection#

邊緣被定義為梯度局部絕對值最強的位置。 通常,剖面訊號會透過低通濾波器進行平滑處理。請使用「平滑」選項來設定濾波器的強度。若要測量邊緣間距較小的微小結構(例如 5 至 10 像素),請設定較低的平滑值,例如 1.0。若邊緣間距較大,或遇到雜訊較多的影像時,請增加平滑強度。

梯度的局部極值必須大於指定的閾值,才會被視為邊緣。請嘗試不同的閾值,以找出最佳設定。最佳設定值應介於「所有目標邊緣剛好能被偵測到」的上限值,與「不需要的邊緣不再被偵測到」的下限值之間。

邊緣選取#

邊緣具有正或負的梯度。這對應於「振幅」輸出。若邊緣梯度為正,則過渡方向為從暗到亮;若邊緣梯度為負,則過渡方向為從亮到暗。若您預期在應用程式中僅會發現某一種類型的過渡,請據此設定「過渡」選項。

若您只想測量單一邊緣位置,與其將「選取」選項設定為「全部」,不如將偵測到的邊緣集限制為單一目標邊緣,這可能會更有幫助。此舉亦能提升應用程式的穩定性,並忽略輪廓區域內其他(非預期的)邊緣。可選取的單一邊緣可以是第一個、最後一個,或是(就梯度大小而言)最強的邊緣。

使用校準功能#

所得的位置與距離亦可輸出為以公尺為單位的世界座標。要達成此效果,請將「校準」vTool的「變換」輸出引腳連接至「測量」vTool 的「變換」輸入引腳。

資訊

測量平面是指在三維空間中,待測邊緣所處的平面。在每張待處理的影像中,邊緣在測量平面內的方位各不相同。請將校正板的表面置於該測量平面內,以對齊此測量平面。

設定「測量」vTool 時,必須使用與實際處理時相同的校準設定。

使用Image Alignment#

「Measurements Basic 」vTool 要求待測形狀必須始終位於相同位置,否則將無法進行檢測。為了提供您更大的靈活性,您可以將「Matching」vTool 以及「Image Alignment 」vTool加入您的製程配方中。

配對功能能夠偵測輸入影像中與參考影像相比,位於不同位置的目標形狀。它會計算並輸出對齊變換資料,隨後「Image Alignment 」vTool 會利用這些資料,將對齊後的輸入影像提供給「Measurements Basic 」vTool。此時,即可對該形狀進行測量。

Measurements Basic vTool 亦會接收逆變換資料,藉此可針對輸入影像(而非對齊後的影像)輸出正確的位置資料。

設定 vTool#

要設定「測量」vTool:

測量 vTool 設定

  1. 在vTool「設定」區域的「配方管理」窗格中,按一下「開啟設定」或雙擊該 vTool。
    此時會開啟 Measurements Basic 對話方塊隨即開啟。
  2. 擷取或開啟一張圖片。
  3. 在「矩形設定」區域中,可透過手動輸入數值,或使用測量矩形的控制點來移動、調整大小及旋轉矩形,以涵蓋您欲測量的影像範圍,藉此定義影像輪廓。
    此外,您亦可連接「矩形」輸入接腳以提供測量矩形。
    一條從左至右的水平輪廓線,其角度為 0。
  4. 在「偵測設定」區塊中,請將「平滑處理」和「閾值」進行設定,以穩健且精確的方式偵測邊緣。
  5. 設定「轉換」與「選取」,使僅選取目標邊。

您可以在引腳資料視圖中查看測量結果。在此處,您可以選擇要顯示的輸出端子。

Inputs#

Image#

可直接從「相機」vTool 或任何能輸出影像的 vTool(例如「Image Format Converter 」vTool)接收影像。

  • 資料類型:圖片
  • 影像格式:8 位元至 16 位元的單色或彩色影像。彩色影像會在內部轉換為單色影像。

InverseTf#

接受對齊轉換的逆轉換資料。藉此,vTool 能針對輸入影像(而非對齊後的影像)輸出正確的位置資料。

  • 資料類型:轉換資料

長方形#

接受一個矩形以定義測量矩形。若此輸入接腳已連接,則會使用輸入端的矩形參數,而對話方塊中的矩形設定則為唯讀。

  • 資料類型:RectangleF

Transformation#

接受來自「校正 vTool」的變換資料。

  • 資料類型:轉換資料

Outputs#

位置_px#

回傳以影像座標(行/列)表示的邊緣點。

  • 資料型別:PointF 陣列

位置_m#

回傳以公尺為單位的世界座標系中的邊點座標 (x/y)。

  • 資料型別:PointF 陣列

振幅#

回傳邊緣的振幅。正振幅表示從暗到亮的過渡;負振幅則表示從亮到暗的過渡。

  • 資料類型:Float Array

距離_px#

回傳兩條相鄰邊之間的距離(以影像座標表示,即行/列)。距離的數量比邊的數量少一個。

  • 資料類型:Float Array

距離_公尺#

回傳兩個相鄰邊之間在世界座標系中的距離(以公尺為單位,格式為 x/y)。距離的數量比邊的數量少一個。

  • 資料類型:Float Array

Regions#

針對每個找到的邊,皆會回傳一個區域。

  • 資料類型:區域陣列

典型前置元件#