tiscamera IC Barcode 展示

由 TIS Marketing 於 2023年6月28日 發表。

此程式設計範例展示了如何在基於Qt的C++程式中使用 AMD 64 IC BarcodeARM 64 IC Barcode 所提供的The Imaging Source Brcode資料庫。

必要條件

螢幕擷取: IC Barcode

建構

安裝完上述所有軟體後,展示使用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 字串。

問題及聯繫

如有疑問,請 聯繫我們