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 字符串。

问题与联系

如有疑问,请联系我们