QR Code Reader vTool#
QR Code Reader 可以偵測並解碼透過 Image 輸入接腳接收到的影像中的 QR code。它會透過 Regions 和 Texts 輸出接腳輸出結果。
區域輸出包含找到 QR code 的區域。文字輸出則是 QR code 所編碼的文字字串。
如果您在偵測前使用 ROI Creator vTool 來指定興趣區域,QR Code Reader 將透過其 Roi 輸入接腳接受 ROI 資料。這會縮小 QR Code Reader 搜尋 QR code 的影像區域,有助於排除錯誤的候選物件。此外,處理速度也會更快、更穩定。
QR Code Reader vTool 可以購買單一授權(Basic 或 Pro),或作為 Code Reader Bundle 授權的一部分。若要購買授權,請造訪 Basler 網站。

QR Code Reader 版本#
QR Code Reader 提供三種版本。下表顯示各版本之間的差異。按一下表格標題中的版本,即可直接跳至本主題中的相關章節。
| Starter | Basic | Pro | |
|---|---|---|---|
| 您可以偵測多少個 QR code? | 3 | 3 | 無限制 |
| 您可以偵測 GS1 和 Micro QR code 嗎? | 否 | 是 | 是 |
| 可以為檢測指定 timeout 嗎? | 否 | 是 | 是 |
| 允許哪些 module sizes? | 邊長介於 2–80 像素之間 | 邊長介於 6–20 像素之間 | 邊長介於 1–100 像素之間 |
| 允許模組之間存在 gaps 嗎? | 可以,小間隙 | 可以,小間隙 | 可以,大間隙 |
| 必須可見多少個 定位圖案 (finder patterns)? (僅適用於 QR code,不適用於 Micro QR code。) | 全部三個 | 全部三個 | 2 |
| 是否可以偵測暗底亮字 (light-on-dark) 的 QR code? | 否 這需要預先處理步驟。 | 否 這需要預先處理步驟。 | 是 |
| 是否可以偵測鏡射 (mirrored) 的 QR code? | 是 | 是 | 是 |
| 影像中的對比度 (contrast) 是否有任何限制? | 影像中暗部與亮部之間必須具備足夠的對比度。 | 影像中暗部與亮部之間必須具備足夠的對比度。 | 影像亮部與暗部之間的差值必須至少為 10 個灰階值。 |
| Enhanced 檢測模式可用嗎? | 否 | 否 | 是 |
| Maximum 檢測模式可用嗎? | 否 | 否 | 是 |
| Roi 輸入接腳的有效資料類型 | RectangleF | RectangleF, RectangleF Array, Region, Region Array | RectangleF, RectangleF Array, Region, Region Array |
| 購買授權 | 包含在 pylon Software Suite 中 | 造訪 Basler 網站 | 造訪 Basler 網站 |
運作原理#
資訊
QR Code Reader Starter vTool 不支援 GS1 或 Micro QR code 偵測。
根據 QR Code Reader 的版本,您可以在影像中偵測最多三個或無限個 QR code。
在 Basic 與 Pro 版本中,您可以指定逾時時間,以在經過特定時間後結束偵測。如果您知道您的影像只包含一個 QR code,將 QR Code Reader 設定為僅尋找一個 code 可以節省處理時間。
常見使用案例#
- 讀取 QR code:在這種情況下,您只需要連接 Texts 輸出 pin 即可輸出解碼後的字串。
- 確定 QR code 的位置:使用由 Regions 輸出 pin 所傳回的 QR code 位置與大小以進行後續處理。
QR Code Reader Starter#
您可以在影像中偵測最多三個 QR code。將數量限制為影像中預期的 code 數量可能有助於節省處理時間。不支援偵測 GS1 或 Micro QR code。若要執行此操作,您需要該 vTool 的 Basic 或 Pro 版本。
檢測條件#
為了能夠偵測並解碼 QR code,它們必須符合以下條件:
- Code 結構:QR Code Reader Starter 支援 1 到 40 個符號的標準範圍,相當於 21 x 21 到 177 x 177 個模組。
- 模組大小:code 中個別模組的邊長必須介於 2 到 80 像素之間。
- 模組間的間隙:允許模組之間存在小間隙。
- 定位圖案數量:QR code 包含 3 個定位圖案。必須全部 3 個皆可見才能讀取 code。
- 極性:QR code 必須是亮底暗字 (dark-on-light) 圖案。若為暗底亮字 (light-on-dark) 圖案,請執行前處理步驟以反轉輸入影像,例如使用 Gray Value Transformer vTool。
- 鏡射:可偵測垂直鏡射、水平鏡射或兩者皆鏡射的 QR code。
- 對比度:影像中暗部與亮部之間必須具備足夠的對比度。
- 清晰度:Code 必須沒有視覺瑕疵(例如沒有反光或汙損),並且必須具備足夠的解析度與對比度。
設定 vTool#
若要設定 QR Code Reader Starter vTool:

- 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
隨即會開啟 QR Code Reader Starter 對話方塊。 - 在 Number of QR Codes 區域中,選擇您想要偵測的 QR code 數量。
您可以在引腳資料檢視中查看「QR Code Reader 」入門專案的結果。在此處,您可以選擇要顯示哪些輸出。
QR Code Reader Basic#
您最多可在一張圖片中偵測到三個 QR 碼。將偵測數量限制在圖片中預期的 QR 碼數量內,可節省處理時間。
檢測條件#
為了能夠偵測並解碼 QR code,它們必須符合以下條件:
- 程式碼結構: QR Code Reader Basic 支援 1 至 40 個符號的標準範圍,這對應於 21 × 21 至 177 × 177 個模組。
- 模組大小:程式碼中各模組的邊長必須介於 2 至 100 像素之間。
- 模組間的間隙:允許模組之間存在小間隙。
- 定位圖案數量:QR code 包含 3 個定位圖案。必須全部 3 個皆可見才能讀取 code。
- 極性:QR code 必須是亮底暗字 (dark-on-light) 圖案。若為暗底亮字 (light-on-dark) 圖案,請執行前處理步驟以反轉輸入影像,例如使用 Gray Value Transformer vTool。
- 鏡射:可偵測垂直鏡射、水平鏡射或兩者皆鏡射的 QR code。
- 對比度:影像中暗部與亮部之間必須具備足夠的對比度。
- 清晰度:Code 必須沒有視覺瑕疵(例如沒有反光或汙損),並且必須具備足夠的解析度與對比度。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您要尋找的 Data Code 類型:
- QR 碼
- GS1 條碼
- 微型 QR 碼
QR 碼與 GS1 QR 碼的符號結構完全相同,但其編碼方案卻有所不同。
在解碼標準 QR 碼時,QR Code Reader Basic 會輸出原始字串。若選擇 GS1 QR 碼,QR Code Reader Basic 則會將字串解碼為符合 GS1 標準的格式。
逾時#
對於對時間要求嚴格的應用,您可以設定超時時間。當處理時間不固定或無法預測時(例如,當影像中未包含 QR 碼時),設定超時時間便能發揮作用。一旦超過指定的超時時間,偵測程序便會停止,並轉而處理下一張影像。
Basler 建議將逾時設定得比預期的時間限制稍低一些。這是因為 vTool 不會立即停止偵測程序。因此,請將逾時設定為預期時間限制的 70–80 %。
設定 vTool#
要設定「QR Code Reader 」基本 vTool:

- 在vTool「設定」區域的「配方管理」窗格中,按一下「開啟設定」或雙擊該 vTool。
此時將開啟「QR Code Reader Basic」對話方塊。 - 在「資料碼類型」下拉式清單中,選取所需的資料碼類型。
- 在 Number of QR Codes 區域中,選擇您想要偵測的 QR code 數量。
- 在 Timeout 區域中,指定您是否希望偵測在經過一定時間後結束。如果您想要指定逾時,請取消勾選 No timeout 核取方塊,並在輸入欄位中輸入所需的逾時時間。
您可以在引腳資料檢視中查看「QR Code Reader Basic」的結果。在此處,您可以選擇要顯示哪些輸出。
QR Code Reader Pro#
您可以在一張圖片中偵測到不限數量的 QR 碼。若將偵測數量限制在圖片中預期的 QR 碼數量內,可能會節省處理時間。
檢測條件#
為了能夠偵測並解碼 QR code,它們必須符合以下條件:
- 程式碼結構: QR Code Reader Pro 支援 1 至 40 個符號的標準範圍,對應的模組尺寸為 21 x 21 至 177 x 177。
- 模組大小:在「增強 偵測模式」下,各模組的邊長必須介於 2 至 100 像素之間。在「最大 偵測模式」下,各模組的邊長必須介於 1 至 100 像素之間。
- 模組之間的間距:模組之間允許有較大的間距。
- 定位圖案數量:此 QR 碼包含 3 個定位圖案。必須能看見其中 2 個,才能讀取該 QR 碼。
- 極性:QR 碼的圖案可以是深色底上淺色,或是淺色底上深色,亦或是兩者的混合。
- 鏡射:可偵測垂直鏡射、水平鏡射或兩者皆鏡射的 QR code。
- 對比度:影像中明亮部分與暗部之間的差異必須至少有 10 個灰階值。
- 可讀性:可偵測到存在視覺瑕疵(例如反光或污漬)以及解析度或對比度較低的條碼。
資料代碼類型#
您可以使用 Data Code Type 下拉式清單來選取您要尋找的 Data Code 類型:
- QR 碼
- GS1 條碼
- 微型 QR 碼
QR 碼與 GS1 QR 碼的符號結構完全相同,但其編碼方案卻有所不同。
在解碼標準 QR 碼時,QR Code Reader Pro 會輸出原始字串。若您選擇 GS1 QR 碼,QR Code Reader Pro 則會將字串解碼為符合 GS1 標準的格式。
檢測模式#
標準:這是一種快速偵測模式,但無法偵測到變形或解析度較低的数据碼。
增強模式:在此偵測模式下,QR Code Reader Pro 對 QR 碼的品質具有較高的容錯度。這意味著即使 QR 碼未完全符合所有偵測標準,仍可被偵測到。啟用此選項會使偵測過程變慢。
最大值:在此檢測模式下,除了具備「增強型」檢測模式的優勢外,「QR Code Reader Pro」還能支援更小的模組尺寸,並在檢測較小模組時表現得更為穩定。這意味著即使某些條碼未能完全符合所有檢測標準,仍能被成功檢測出來。啟用此選項會使檢測過程變慢。
逾時#
對於對時間要求嚴格的應用,您可以設定超時時間。當處理時間不固定或無法預測時(例如,當影像中未包含 QR 碼時),設定超時時間便能發揮作用。一旦超過指定的超時時間,偵測程序便會停止,並轉而處理下一張影像。
Basler 建議將逾時設定得比預期的時間限制稍低一些。這是因為 vTool 不會立即停止偵測程序。因此,請將逾時設定為預期時間限制的 70–80 %。
設定 vTool#
若要設定 QR Code Reader Pro vTool:

- 在 vTool Settings 區域的 Recipe Management 窗格中,按一下 Open Settings 或按兩下該 vTool。
隨即會開啟 QR Code Reader Pro 對話方塊。 - 在 Data Code Type 下拉式清單中,選取所需的 data code type
- 在 Number of QR Codes 區域中,選取您想要偵測的 QR code 數量。如果不知道要偵測的代碼最大數量,請選取 Unlimited。
- 在 Detection Mode 區域中,選取所需的偵測模式。
- 在 Polarity 下拉式清單中,選取適用於您應用的選項。
如果應用程式中的碼具有特定的極性,請據此選取設定。如果影像中碼的極性未知,或出現具有不同極性的多個碼,請選取 Any。 - 在 Timeout 區域中,指定您是否希望偵測在經過一定時間後結束。如果您想要指定逾時,請取消勾選 No timeout 核取方塊,並在輸入欄位中輸入所需的逾時時間。
您可以在 pin data view 中檢視 QR 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#
文字#
傳回編碼於 QR code 中的文字字串。
- 資料類型:String Array
Regions#
為找到的每個 QR code 傳回一個區域。此區域為矩形形狀。可用於視覺化目的或後續的特徵擷取。
- 資料類型:Region Array
OrientedBoxes_px#
為找到的每個 QR code 傳回一個具方向性的邊界方塊。
- 資料類型:RectangleF 陣列
相關 vTools#
典型前置項目#
典型後續元件#
- Region Feature Extraction vTool
可讓您決定所找到 QR code 的中心、大小與方向。