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 字符串。
问题与联系
如有疑问,请联系我们。