DM二维码识别库DMDECODER的使用--MFC例程
2024-08-31 08:51:04
DM码和QR码是当今比较主流的二维码,其中QR码容量大,容量密度为16kb,DM码容量要小一点,可在仅仅25mm²的面积上编码30个数字,但是DM码的容错率更高,所以实际的工业生产中经常使用DM码作为产品的标签。
DMDECODER是一款比较好用的DM码解析软件,包含有一个DLL和一个lib,使用这个库也比较容易我们先看组成
使用该库第一步是导入库路径和库函数如下
//导入dll
#define DLL_EXPORT __declspec(dllexport) extern "C" DLL_EXPORT int _stdcall DataMatrix_decode(const char* filename);
// DataMatrix_decode_rt --> 对设备采集的图像进行实时处理
// imageData : 指向图像数据区的指针(24位位图)
// width : 图像宽度
// height : 图像高度
extern "C" DLL_EXPORT int _stdcall DataMatrix_decode_rt(unsigned char* imageData, int width, int height);
extern "C" DLL_EXPORT int _stdcall DataMatrix_output(unsigned char* message);
然后解码过程是这样的
char* file = (char*)malloc(sourceFilePath.GetLength()+);//待解码图片路径
for(int i = ; i < sourceFilePath.GetLength();i++)
{
file[i] = sourceFilePath.GetAt(i);
}
file[sourceFilePath.GetLength()] = ;
int length = DataMatrix_decode(file); //解码并返回码字长度(解码失败则返回-1)
if(length>)
{
unsigned char* message = (unsigned char*)malloc(sizeof(char)*(length+));
DataMatrix_output(message);//将解码码字保存到数组中
message[length] = ;
convertString.Empty();
convertString.AppendFormat("%s",message);
CString show;
show.Empty();
show = convertString.Left(convertString.GetLength()-);
((CEdit*)GetDlgItem(IDC_EDIT_COVERT_RESULT))->SetWindowText(show);
free(message);
}
完整的MFC工程如下
注意结果尾巴上的版权标志tonxong.com去掉哦
工程路径
http://download.csdn.net/detail/dengrengong/8608187
最新文章
- c# Sqlite帮助类
- const,static,extern简介(重要)
- iOS -Swift 3.0 -UIButton属性大全
- ADO.NET笔记——SQL注入攻击
- Codeforces Beta Round #85 (Div. 1 Only) A. Petya and Inequiations 贪心
- Android(java)学习笔记103:Map集合的获取功能
- C#数据等待
- 声明 &;&; 温馨提示 by ljh2000
- JS属性读写操作+if判断注意事项
- DSAPI之摄像头追踪指定颜色物体
- 1840: Jack Straws
- PC端的软件端口和adb 5037端口冲突解决方案
- [官网]How to use distributed transactions with SQL Server on Docker
- [luogu3391][文艺平衡树]
- java 程序运行过程 简介
- <;转>;jmeter(二十二)内存溢出原因及解决方法
- Sysstat的工具集sar、 iostat、mpstat、sadf、sar、sadc
- Tensorflow学习笔记一
- .NET面试题(一)
- 如何在shell中处理异常(转)