VS2013 / MFC / C++ 编写的条码与二维码识别测试工具,用于加载图片、执行扫描识别、对比多种解码引擎的识别效果,并导出结果。
- 加载测试图片,逐张执行条码/二维码识别(QR、DataMatrix、一维码等)
- 多解码引擎适配层,便于对比识别率与异常样本表现:
- Halcon(经
VisionDllAdapter,对接视觉 DLL 的 LWReadCode / LWRead2DCode 接口) - ZBar(
ZBarAdapter,一维码 / QR) - libdmtx(DataMatrix 专用)
- Halcon(经
- 图像查看控件(ImageViewCtrl)、识别结果结构化输出(ImageScanResult)
- 批量自测试运行(SelfTestRunner)+ 结果 CSV 导出(CsvWriter)+ 运行日志(AppLog)
| 项 | 要求 |
|---|---|
| IDE | Visual Studio 2013(v120 工具集) |
| 平台 | 必须 Win32 / x86(见下方依赖说明) |
| 工程 | BarcodeScanTester_VS2013\BarcodeScanTester.sln |
架构约束(重要):三个外部解码库(libzbar-0.dll / libdmtx.dll / libiconv-2.dll)全部为 32 位(PE machine = 0x014C),因此工程只能以 Win32/x86 编译,不可切换 x64。
以下 DLL 需放置于 exe 同目录(或 runtime\ / runtime\dll\),已被 .gitignore 排除:
| 文件 | 用途 | 获取方式 |
|---|---|---|
halcon.dll / halconcpp.dll / halcon.lib |
Halcon 视觉引擎 | MVTec Halcon 商业运行时,需自行安装(有版权,禁止分发到公开仓库) |
VisionMFCDLL.dll |
当前主程序视觉 DLL(LWReadCode / LWRead2DCode) | 本项目配套构建产物 |
libzbar-0.dll |
ZBar 解码(x86,无导入 .lib,动态加载) | ZBar Windows 构建 |
libiconv-2.dll |
ZBar 字符串编码依赖 | 随 ZBar 分发 |
libdmtx.dll / libdmtx.lib |
DataMatrix 解码(x86) | libdmtx 官方构建 |
runtime\images\ 下的测试图片(QR、DataMatrix、字符 MARK 异常样本等,体积约 1.6GB)已被 .gitignore 排除,请从内部共享位置获取后放入对应目录。
ReadCode/
├─ BarcodeScanTester_VS2013/
│ ├─ BarcodeScanTester.sln # VS2013 解决方案(Win32)
│ └─ BarcodeScanTester/ # MFC 源码(引擎适配层 / 图像控件 / 自测试 / CSV / 日志)
├─ v11_external_decoder_compare_可行性分析报告.md # 外部解码器(ZXing-C++ / OpenCV 等)对比评估
└─ .gitignore # 排除构建产物、运行时 DLL、测试图片、本机工具元数据
v11_external_decoder_compare_可行性分析报告.md:v11 阶段外部解码器选型对比(只读分析结论:先完成 libdmtx + ZBar 双引擎接入)。
- 内部测试工具;含商业库运行时依赖,分发时请遵守 Halcon 许可。
- 仓库由 SafeGitPublisher 安全检查后发布(Secret/敏感文件/大文件/总体积门禁全通过)。