tiscamera IC Barcode 展示
由 TIS Marketing 於 2023年6月28日 發表。
此程式設計範例展示了如何在基於Qt的C++程式中使用 AMD 64 IC Barcode 或 ARM 64 IC Barcode 所提供的The Imaging Source Brcode資料庫。
必要條件
- IC Barcode library (見上)
- C++
- tiscamera 1.1.n from Releases
- tiscamera dev packages from Releases
- Qt dev packages
- The Imaging Source的影像擷取裝置
建構
安裝完上述所有軟體後,展示使用MKDIR 構建
mkdir build
cd build
cmake ..
make
執行
cd build
./ICBarcode
用法
裝置選擇
點擊 Device 選單, 選擇 Select, 開啟裝置選擇對話框:
選擇裝置後,您可以開始掃描條碼:
在上圖中,可以看到Code128和Datamatrix代碼。兩者都可以從同一圖像進行掃描。代碼也是位置不變的。
裝置屬性
此範例包含用於設定所有屬性的屬性對話框:
裝置選擇和裝置屬性對話框位於 tcamcamera
子欄中。可以在您自己的軟體中使用。
原始程式碼
選擇要檢測的條碼
可以按如下方式指定要檢測的條碼:
int formats = 0;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_CODE_128;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_CODE_93;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_EAN_13;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_EAN_8;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_UPC_A;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_QR_CODE;
formats |= ICBarcode_Format::IC_BARCODEFORMAT_DATA_MATRIX;
//formats |= ICBarcode_Format::IC_BARCODEFORMAT_INTERLEAVED_2_OF_5;
//formats |= ICBarcode_Format::IC_BARCODEFORMAT_CODE_39;
ICBarcode_SetBarcodeFormats(_callback_user_data.pIC_BarcodeScanner, formats);
清單越短,檢測越快。
多線程和事件
Gstreamer在不同的線程中運作,而非QT GUI。因此,條碼結果由事件結構傳遞到 GUI 主線程。因此,事件處理程式和類別在 mainwindow.h
中定義。
圖形疊加
覆蓋周圍紅框的圖形是使用 GSteamer rsvgoverlay 元素完成的。它接收包含圖形描述的 XML 字串。
問題及聯繫
如有疑問,請 聯繫我們。