Data Matrix Code Reader vTool#
Data Matrix Code Reader 可以偵測並解碼其透過 Image 輸入接腳接收到的影像中的 Data Matrix 條碼。它會透過 Regions 和 Texts 輸出接腳輸出結果。
區域輸出包含找到 Data Matrix 條碼的區域。文字輸出則是 Data Matrix 條碼所編碼的文字字串。
如果您在偵測前使用 ROI Creator vTool 來指定興趣區域,Data Matrix Code Reader 會透過其 Roi 輸入接腳接收 ROI 資料。這會縮小 Data Matrix Code Reader 搜尋條碼的影像區域,有助於排除錯誤的候選項目。同時,這也能加快處理速度並提升強固性。
Data Matrix Code Reader vTool 可以單獨購買授權(Basic 或 PRO),或者作為 Code Reader Bundle 授權的一部分購買。若要購買授權,請造訪 Basler 網站。

Data Matrix Code Reader 版本#
Data Matrix Code Reader 提供三種版本。下表顯示各版本之間的差異。按一下表格標題中的版本,即可直接跳至本主題中的相關章節。
| Starter | Basic | Pro | |
|---|---|---|---|
| 您可以偵測多少個 Data Matrix 條碼? | 3 | 3 | 不限 |
| 能否偵測 GS1 Data Matrix codes? | 否 | 是 | 是 |
| 您可以指定檢測的 timeout 嗎? | 否 | 是 | 是 |
| 允許哪些 module sizes? | 最小邊長為 3 個像素 | 邊長介於 6–20 個像素之間 | 邊長介於 1–100 個像素之間 |
| 是否允許模組之間存在 gaps? | 否 | 否 | 是 |
| 模組是否可以 slanted? | 可以,但必須符合模組大小 | 可以,最高可達 10° | 可以,最高可達 30° |
| 模組是否必須 lie within the matrix grid structure? | 是 | 是 | 否 |
| 您可以檢測 light-on-dark Data Matrix Code Reader 嗎? | 否 這需要前置處理步驟。 | 否 這需要前置處理步驟。 | 是 |
| 您可以檢測 mirrored Data Matrix Code Reader 嗎? | 是 | 是 | 是 |
| Enhanced detection mode 是否可用? | 否 | 否 | 是 |
| maximum detection mode 是否可用? | 否 | 否 | 是 |
| Roi 輸入 pin 的有效資料類型 | RectangleF | RectangleF, RectangleF Array, Region, Region Array | RectangleF, RectangleF Array, Region, Region Array |
| 購買授權 | 包含在 pylon Software Suite 中 | 造訪 Basler website | 造訪 Basler website |
運作原理#
資訊
Data Matrix Code Reader Starter vTool 不支援 GS1 QR 碼檢測。
根據 Data Matrix Code Reader 的版本,您可以在影像中檢測最多三個或無限個 Data Matrix 碼。
在 Basic 和 PRO 版本中,您可以指定 timeout 以在一定時間後結束檢測。如果您知道影像中只包含一個 Data Matrix 碼,將 Data Matrix Code Reader 設定為僅搜尋一個碼可能會節省處理時間。
常見應用情境#
- 讀取 Data Matrix code:在這種情況下,您只需要連接 Texts 輸出 pin 來輸出解碼後的字串。
- 決定 Data Matrix code 的位置:使用由 Regions 輸出 pin 所傳回的 Data Matrix code 位置與大小,以進行後續處理。
Data Matrix Code Reader Starter#
您可以在影像中偵測最多三個 Data Matrix code。將數量限制為影像中預期的 code 數量可能有助於節省處理時間。不支援偵測 GS1 Data Matrix code。若要執行此操作,您需要該 vTool 的 Basic 或 Pro 版本。
偵測準則#
若要讓 Data Matrix code 能夠被偵測並解碼,必須符合下列條件:
- Code 結構:Data Matrix Code Reader Starter 支援標準 Data Matrix code ECC200 結構(8 至 144 列以及 10 至 144 行的矩陣)。
- 模組大小:矩陣中個別模組的邊長必須至少為 3 個像素。
- 模組之間的間距:不允許模組之間存在間距。
- 傾斜:只要不超過模組大小,允許 code 產生傾斜。
- 網格一致性:所有模組必須位於矩陣網格內。
- 極性:Data Matrix code 必須是深色背景上的淺色圖案或淺色背景上的深色圖案。對於淺色背景上的深色圖案,請執行前置處理步驟以反轉輸入影像,例如使用 Gray Value Transformer vTool。
- 鏡射:可以偵測經過垂直、水平或同時進行垂直與水平鏡射的 Data Matrix code。
- 可讀性:Code 必須沒有視覺瑕疵(例如沒有反光或汙點),並且必須具備足夠的解析度。
設定 vTool#
若要設定 Data Matrix Code Reader Starter vTool:

- 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
隨即會開啟 Data Matrix Code Reader Starter 對話方塊。 - 在 Number of Data Matrix Codes 區域中,選取您想要偵測的 Data Matrix code 數量。
您可以在 pin data view 中檢視 Data Matrix Code Reader Starter 的結果。在這裡,您可以選取要顯示哪些輸出。
Data Matrix Code Reader Basic#
您可以在影像中偵測最多三個 Data Matrix code。將數量限制為影像中預期的 code 數量可能有助於節省處理時間。
偵測準則#
若要讓 Data Matrix code 能夠被偵測並解碼,必須符合下列條件:
- Code 結構:Data Matrix Code Reader Basic 支援標準 Data Matrix code ECC200 結構(8 至 144 列以及 10 至 144 行的矩陣)。
- 模組大小:矩陣中個別模組的邊長必須介於 6 到 20 個像素之間。
- 模組之間的間距:不允許模組之間存在間距。
- 傾斜:傾斜角度最高達 10° 的 code 仍然可以被讀取。
- 網格一致性:所有模組必須位於矩陣網格內。
- 極性:Data Matrix code 必須是深色背景上的淺色圖案或淺色背景上的深色圖案。對於淺色背景上的深色圖案,請執行前置處理步驟以反轉輸入影像,例如使用 Gray Value Transformer vTool。
- 鏡射:可以偵測經過垂直、水平或同時進行垂直與水平鏡射的 Data Matrix code。
- 可讀性:Code 必須沒有視覺瑕疵(例如沒有反光或汙點),並且必須具備足夠的解析度。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您想要尋找的資料碼類型:
- Data Matrix Codes
- GS1 Data Matrix Codes
Data Matrix code 與 GS1 Data Matrix code 的符號結構相同,但其編碼方案不同。
當解碼標準 Data Matrix 碼時,Data Matrix Code Reader Basic 會輸出原始字串。如果您選擇 GS1 Data Matrix 碼,Data Matrix Code Reader Basic 會將字串解碼為符合 GS1 標準的格式。
逾時#
對於時間關鍵型應用,您可以指定逾時。如果處理時間變動或無法預測(例如影像中未包含 Data Matrix 碼),逾時設定將會派上用場。一旦超過指定的逾時時間,偵測程序就會停止並繼續處理下一張影像。
Basler 建議將逾時時間設定得比所需的時限稍低一點。這是因為 vTool 不會立即停止偵測程序。因此,請將逾時設定為所需時限的 70–80%。
設定 vTool#
若要設定 Data Matrix Code Reader Basic vTool:

- 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
隨即會開啟 Data Matrix Code Reader Basic 對話方塊。 - 在 Data Code Type 下拉式清單中,選取所需的資料碼類型。
- 在 Number of Data Matrix Codes 區域中,選取您想要偵測的 Data Matrix code 數量。
- 在 Timeout 區域中,指定您是否希望偵測在經過特定時間後結束。如果您想要指定逾時,請清除 No timeout 核取方塊,並在輸入欄位中輸入所需的逾時時間。
您可以在引腳資料檢視中查看「Data Matrix Code Reader Basic」的結果。在此處,您可以選擇要顯示哪些輸出。
Data Matrix Code Reader PRO#
您可以在一張影像中偵測到不限數量的 Data Matrix 條碼。若將偵測數量限制在影像中預期的條碼數量內,可節省處理時間。
偵測準則#
若要讓 Data Matrix code 能夠被偵測並解碼,必須符合下列條件:
- 條碼結構: Data Matrix Code Reader Pro 支援標準 Data Matrix 條碼的 ECC200 結構(矩陣行數為 8 至 144 行,列數為 10 至 144 列)。
- 模組尺寸:在「增強 偵測模式」下,各模組的邊長必須介於 2 至 100 像素之間。在「最大 偵測模式」下,各模組的邊長必須介於 1 至 100 像素之間。
- 模組之間的間隙:模組之間允許留有小間隙。
- 傾斜:傾斜角度不超過 30° 的條碼仍可被讀取。
- 網格符合性:即使模組部分超出矩陣網格範圍,仍可讀取其數據。
- 極性:Data Matrix 條碼可採用深色底上淺色圖案、淺色底上深色圖案,或兩者的混合形式。
- 鏡射:可以偵測經過垂直、水平或同時進行垂直與水平鏡射的 Data Matrix code。
- 可讀性:可偵測到存在視覺瑕疵(例如反光或污漬)以及解析度較低的條碼。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您想要尋找的資料碼類型:
- Data Matrix Codes
- GS1 Data Matrix Codes
Data Matrix code 與 GS1 Data Matrix code 的符號結構相同,但其編碼方案不同。
在解碼標準 Data Matrix 條碼時,Data Matrix Code Reader Pro 會輸出原始字串。若您選擇 GS1 Data Matrix 條碼,Data Matrix Code Reader Pro 則會將字串解碼為符合 GS1 標準的格式。
偵測模式#
標準:這是一種快速檢測模式,但無法偵測到變形或低解析度的資料碼。
增強模式:在此偵測模式下,Data Matrix Code Reader Pro 對 Data Matrix 條碼的品質具有較高的容錯度。這表示即使條碼未完全符合所有偵測標準,仍可被偵測到。啟用此選項會使偵測過程變慢。
最大值:在此偵測模式下,除了具備「增強型偵測模式」的優勢外,Data Matrix Code Reader Pro 還能支援更小的模組尺寸,在偵測較小模組時表現更為穩健,且對定位圖案的變形具有更高的容錯度。這意味著能偵測到更多未完全符合所有偵測標準的條碼。啟用此選項會使偵測過程變慢。
逾時#
對於時間關鍵型應用,您可以指定逾時。如果處理時間變動或無法預測(例如影像中未包含 Data Matrix 碼),逾時設定將會派上用場。一旦超過指定的逾時時間,偵測程序就會停止並繼續處理下一張影像。
Basler 建議將逾時時間設定得比所需的時限稍低一點。這是因為 vTool 不會立即停止偵測程序。因此,請將逾時設定為所需時限的 70–80%。
設定 vTool#
要設定「Data Matrix Code Reader Pro」vTool:

- 在vTool「設定」區域的「配方管理」窗格中,按一下「開啟設定」或雙擊該 vTool。
此時將開啟「Data Matrix Code Reader Pro」對話方塊。 - 在 Data Code Type 下拉式清單中,選取所需的資料碼類型。
- 在「資料矩陣碼數量」區域中,請選擇您要偵測的資料矩陣碼數量。若無法確定要偵測的資料矩陣碼最大數量,請選擇「無限制」。
- 在 Detection Mode 區域中,選取所需的偵測模式。
- 在 Polarity 下拉式清單中,選取適合您應用程式的選項。
如果應用程式中的條碼具有特定極性,請相應地選取設定。如果影像中條碼的極性未知,或出現多個具有不同極性的條碼,請選取 Any。 - 在 Timeout 區域中,指定您是否希望偵測在經過特定時間後結束。如果您想要指定逾時,請清除 No timeout 核取方塊,並在輸入欄位中輸入所需的逾時時間。
您可以在引腳資料檢視中查看「Data Matrix Code Reader Pro」的檢測結果。在此處,您可以選擇要顯示哪些輸出。
Inputs#
Image#
可直接從「相機」vTool 或任何能輸出影像的 vTool(例如「Image Format Converter 」vTool)接收影像。
- 資料類型:圖片
- 影像格式:8 位元單色或彩色影像。彩色影像會在系統內部轉換為單色影像。
Roi#
可接受來自「ROI Creator vTool 」或任何其他能輸出區域或矩形的 vTool 所提供的感興趣區域。多個矩形或區域會在內部合併,形成單一的感興趣區域。Starter 版本僅接受 RectangleF。
- 資料類型:RectangleF、RectangleF 陣列、Region、Region 陣列
Outputs#
Texts#
回傳以 Data Matrix 碼編碼的文字字串。
- 資料類型:字串陣列
Regions#
針對每個偵測到的 Data Matrix 碼,回傳一個區域。該區域呈矩形。可用於視覺化呈現,或進行後續的特徵提取。
- 資料類型:區域陣列
OrientedBoxes_px#
針對每個找到的 Data Matrix 碼,回傳一個具有方向的包圍框。
- 資料類型:RectangleF 陣列
相關 vTool#
典型前置元件#
典型後續元件#
- Region Feature Extraction vTool
可讓您確定所偵測到的 Data Matrix 條碼的中心點、尺寸及方向。