zoukankan      html  css  js  c++  java
  • DM二维码识别库DMDECODER的使用--MFC例程

        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()+1);//待解码图片路径
            for(int i = 0; i < sourceFilePath.GetLength();i++)
            {
                file[i] = sourceFilePath.GetAt(i);
            }
            file[sourceFilePath.GetLength()] = 0;
            int length = DataMatrix_decode(file); //解码并返回码字长度(解码失败则返回-1)
            if(length>0)
            {
                unsigned char* message = (unsigned char*)malloc(sizeof(char)*(length+1));
                DataMatrix_output(message);//将解码码字保存到数组中
                message[length] = 0;
                convertString.Empty();
                convertString.AppendFormat("%s",message);
                CString show;
                show.Empty();
                show = convertString.Left(convertString.GetLength()-12);
                ((CEdit*)GetDlgItem(IDC_EDIT_COVERT_RESULT))->SetWindowText(show);
                free(message);
            }    

    完整的MFC工程如下

    注意结果尾巴上的版权标志tonxong.com去掉哦

    工程路径

    http://download.csdn.net/detail/dengrengong/8608187
  • 相关阅读:
    成为java程序员的学习过程
    解决自动添加局域网内打印机的问题
    通过主机标头实现多个SharePoint Web应用程序共用一个端口
    MSDN教学短片WPF 3(WPF的图形透明效果)
    MSDN 教学短片 WPF 14(2D动画之—Trigger)
    MSDN 教程短片 WPF 8(WPF样式与资源)
    MSDN 教学短片WPF 5(Linear/RadialGradientBrush)
    MSDN 教学短片 WPF 12(画布)
    MSDN 教学短片WPF 4(笔刷)
    MSDN 教程短片 WPF 17(简单播放器的制作)
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4438038.html
Copyright © 2011-2022 走看看