Data Matrix Code Reader vTool#
Data Matrix Code Reader 可以偵測並解碼其透過 Image 輸入接腳接收到的影像中的 Data Matrix 條碼。它會透過 Regions 和 Texts 輸出接腳輸出結果。
區域輸出包含找到 Data Matrix 條碼的區域。文字輸出則是 Data Matrix 條碼所編碼的文字字串。
如果您在偵測前使用 ROI Creator vTool 來指定感興趣區域 (ROI),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 嗎? | 否 | 否 | 是 |
| 模組是否允許傾斜? | 可以,但必須符合模組大小 | 可以,最高可達 10° | 可以,最高可達 30° |
| 模組是否必須位於矩陣網格結構內? | 是 | 是 | 否 |
| 您可以偵測黑底白字的 Data Matrix Code Reader 嗎? | 否 這需要預先處理步驟。 | 否 這需要預先處理步驟。 | 是 |
| 您可以偵測鏡像的 Data Matrix Code Reader 嗎? | 是 | 是 | 是 |
| Enhanced 檢測模式可用嗎? | 否 | 否 | 是 |
| 是否可以使用最大偵測模式? | 否 | 否 | 是 |
| Roi 輸入接腳的有效資料類型 | RectangleF | RectangleF, RectangleF Array, Region, Region Array | RectangleF, RectangleF Array, Region, Region Array |
| 購買授權 | 包含在 pylon Software Suite 中 | 造訪 Basler 網站 | 造訪 Basler 網站 |
運作原理#
資訊
Data Matrix Code Reader Starter vTool 不支援 GS1 QR code 偵測。
根據 Data Matrix Code Reader 的版本,您可以在影像中偵測最多三個或無限個 Data Matrix code。
在 Basic 和 Pro 版本中,您可以指定逾時以在特定時間後結束偵測。如果您知道影像中只包含一個 Data Matrix code,將 Data Matrix Code Reader 設定為僅尋找一個 code 可以節省處理時間。
常見使用案例#
- 讀取 Data Matrix code:在這種情況下,您只需要連接 Texts 輸出接腳即可輸出解碼後的字串。
- 判斷 Data Matrix code 的位置:使用 Regions 輸出接腳傳回的 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。
- Legibility: 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 代碼數量。
您可以在 pin data view 中檢視 Data Matrix Code Reader Starter 的結果。在此您可以選取要顯示哪些輸出。
Data Matrix Code Reader Basic#
您最多可以在影像中偵測三個 Data Matrix 代碼。將數量限制為影像中預期的代碼數量有助於節省處理時間。
檢測條件#
若要偵測和解碼 Data Matrix code,它們必須符合以下條件:
- Code structure: Data Matrix Code Reader Basic 支援標準 Data Matrix 代碼 ECC200 結構(8 到 144 列以及 10 到 144 行的矩陣)。
- Module size: 矩陣中各個模組的邊長必須介於 6 到 20 個像素之間。
- 模組之間的間距:不允許模組之間有間距。
- Slant: 傾斜度高達 10° 的代碼仍然可以被讀取。
- 網格一致性:所有模組都必須位於矩陣網格內。
- 極性:Data Matrix code 必須是白底黑字圖案。對於黑底白字圖案,請執行前置處理步驟以反轉輸入影像,例如使用 Gray Value Transformer vTool。
- 鏡像:可以偵測垂直、水平或同時鏡像的 Data Matrix code。
- Legibility: Code 必須沒有視覺瑕疵(例如無反光或污漬),且必須具備足夠的解析度。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您要尋找的 Data Code 類型:
- Data Matrix 代碼
- GS1 Data Matrix 代碼
Data Matrix 代碼與 GS1 Data Matrix 代碼的符號結構相同,但其編碼方案不同。
解碼標準 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 下拉式清單中,選取所需的 Data Code 類型。
- 在 Number of Data Matrix Codes 區域中,選取您要偵測的 Data Matrix 代碼數量。
- 在 Timeout 區域中,指定您是否希望偵測在經過一定時間後結束。如果您想要指定逾時,請取消勾選 No timeout 核取方塊,並在輸入欄位中輸入所需的逾時時間。
您可以在 pin data view 中檢視 Data Matrix Code Reader Basic 的結果。在此您可以選取要顯示哪些輸出。
Data Matrix Code Reader Pro#
您可以在影像中偵測無限數量的 Data Matrix 代碼。將數量限制為影像中預期的代碼數量有助於節省處理時間。
檢測條件#
若要偵測和解碼 Data Matrix code,它們必須符合以下條件:
- Code structure: Data Matrix Code Reader Pro 支援標準 Data Matrix 代碼 ECC200 結構(8 到 144 列以及 10 到 144 行的矩陣)。
- 模組大小:在「增強 偵測模式」下,各模組的邊長必須介於 2 至 100 像素之間。在「最大 偵測模式」下,各模組的邊長必須介於 1 至 100 像素之間。
- 模組間的間隙:允許模組之間存在小間隙。
- Slant: 傾斜度高達 30° 的代碼仍然可以被讀取。
- Grid conformity: 部分位於矩陣網格之外的模組仍然可以被讀取。
- Polarity: Data Matrix 代碼可以是深色底淺色圖案、淺色底深色圖案,或是兩者的混合。
- 鏡像:可以偵測垂直、水平或同時鏡像的 Data Matrix code。
- 可讀性:可偵測到存在視覺瑕疵(例如反光或污漬)以及解析度較低的條碼。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您要尋找的 Data Code 類型:
- Data Matrix 代碼
- GS1 Data Matrix 代碼
Data Matrix 代碼與 GS1 Data Matrix 代碼的符號結構相同,但其編碼方案不同。
解碼標準 Data Matrix 代碼時,Data Matrix Code Reader Pro 會輸出原始字串。如果您選取 GS1 Data Matrix 代碼,Data Matrix Code Reader Pro 將會以符合 GS1 標準的格式解碼字串。
檢測模式#
標準:這是一種快速偵測模式,但無法偵測到變形或解析度較低的数据碼。
Enhanced: 在此偵測模式下,Data Matrix Code Reader Pro 對 Data Matrix 代碼的 Quality 具有更高的容忍度。這表示未完全符合所有偵測條件的代碼也能被偵測到。啟用此選項會減慢偵測程序。
Maximum: 在此偵測模式下,除了 Enhanced 偵測模式的優點之外,Data Matrix Code Reader Pro 還能接受較小的模組尺寸、在偵測較小模組時更具強固性,且對定位圖案變形具有更高的容忍度。這表示可以偵測到更多不完全符合偵測條件的代碼。啟用此選項會減慢偵測程序。
逾時#
對於時間緊迫的應用,您可以指定逾時。逾時有助於處理時間會變動或無法預測的情況,例如影像不包含 Data Matrix 代碼時。一旦超過指定的逾時時間,偵測程序就會停止並移至下一張影像。
Basler 建議將逾時設定得比預期的時間限制稍低一些。這是因為 vTool 不會立即停止偵測程序。因此,請將逾時設定為預期時間限制的 70–80 %。
設定 vTool#
若要設定 Data Matrix Code Reader Pro vTool:

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