• 大小: 43.42MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-30
  • 语言: C/C++
  • 标签: QR码  二维码  

资源简介

QR二维码解码C++源代码,不含DLL中间件,全套源程序,原代码全中文注释。 可以选择输入8位或24位BMP格式QR码图像,输出(包括版本号和纠错等级的)QR码译码信息。 支持QR码中文国家标准,是研究QR码译码技术的入门样本。 VS2010编译环境调试通过(工程名:QRcodeDecoder.sln),支持重新编译,直接可用。 编译后,可执行程序存放在..\release\文件夹下,程序名:QRcodeDecoder.exe

资源截图

代码片段和文件信息

// AlignmentPattern.cpp: implementation of the AlignmentPattern class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “QRcodeDecoder.h“
#include “AlignmentPattern.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

AlignmentPattern::AlignmentPattern()
{

}

AlignmentPattern::~AlignmentPattern()
{

}

//校正图形检测
void AlignmentPattern::findAlignmentPattern(BYTE ** mybitmap int mynWidth int mynHeight FinderPattern * finderPattern int myDECIMAL_POINT) 
{
DECIMAL_POINT=myDECIMAL_POINT;
bitmap=mybitmap;
nWidth=mynWidth;
nHeight=mynHeight;
m_finderPattern=finderPattern;

getLogicalCenter(m_finderPattern);

logicalDistance = logicalCenters[1][0].x - logicalCenters[0][0].x;

//With it converts in order to handle in the same way
getCenter();

//return new AlignmentPattern(centers logicalDistance);

}

//get logical center coordinates of each alignment patterns
void AlignmentPattern::getLogicalCenter(FinderPattern * finderPattern)
{
    int i ;
//get logical center coordinates of each alignment patterns
int version = finderPattern->m_version;

int logicalSeedsCnt;
logicalSeedsCnt=QR_VersonInfo[version].ncAlignPoint+1;
int * logicalSeeds=new int[logicalSeedsCnt];
logicalSeeds[0]=6;
for(i=1;i logicalSeeds[i]=QR_VersonInfo[version].nAlignPoint[i-1];

logicalCenters = new Point *[logicalSeedsCnt];
for(i=0;i logicalCenters[i]=new Point[logicalSeedsCnt];
//Point[][] logicalCenters = new Point[logicalSeeds.length][logicalSeeds.length];

//create real relative coordinates
for (int col = 0; col < logicalSeedsCnt; col++)
{
for (int row = 0; row < logicalSeedsCnt; row++)
{
logicalCenters[row][col] = Point(logicalSeeds[row] logicalSeeds[col]);
}
}
logicalCentersCnt=logicalSeedsCnt;

}

void AlignmentPattern::getCenter() 
{
int moduleSize = m_finderPattern->m_moduleSize[UL];

int * angle=m_finderPattern->m_sincos;
Axis axis = Axis(angle moduleSize DECIMAL_POINT);

m_centersCnt = logicalCentersCnt;
m_centers = new Point *[m_centersCnt];
for(int i=0;i m_centers[i]=new Point[m_centersCnt];
//Point[][] centers = new Point[m_centersCnt][m_centersCnt];

axis.setOrigin(m_finderPattern->m_center[UL]);
m_centers[0][0] = axis.translate(3 3);

axis.setOrigin(m_finderPattern->m_center[UR]);
m_centers[m_centersCnt - 1][0] = axis.translate(-3 3);

axis.setOrigin(m_finderPattern->m_center[DL]);
m_centers[0][m_centersCnt - 1] = axis.translate(3 -3);

Point tmpPoint=m_centers[0][0];

for (int y = 0; y < m_centersCnt; y++)
{
for (int x = 0; x < m_centersCnt; x++)
{
if ((x==0 && 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16402  2016-08-01 00:08  ContentDecoder.cpp

     文件       2391  2016-07-28 00:42  ContentDecoder.h

     文件      24137  2016-08-01 00:08  FinderPattern.cpp

     文件       1684  2016-07-30 00:57  FinderPattern.h

     文件       3292  2008-04-23 22:02  Galois.cpp

     文件        950  2008-04-22 23:35  Galois.h

     文件       3009  2016-07-28 00:09  Line.cpp

     文件       1110  2008-05-03 08:47  Line.h

     文件       1206  2016-07-28 00:09  Point.cpp

     文件        788  2008-05-02 20:39  Point.h

     文件      38864  2016-07-30 13:24  QRcodeDecoder.aps

     文件       2197  2016-07-26 01:20  QRcodeDecoder.clw

     文件       2161  2008-03-16 11:33  QRcodeDecoder.cpp

     文件       5596  2016-07-26 11:55  QRcodeDecoder.dsp

     文件        551  2008-03-16 11:33  QRcodeDecoder.dsw

     文件       1401  2008-03-16 11:33  QRcodeDecoder.h

     文件     189440  2016-07-26 01:20  QRcodeDecoder.ncb

     文件      54784  2016-07-26 01:20  QRcodeDecoder.opt

     文件       3095  2016-07-26 01:18  QRcodeDecoder.plg

     文件       5600  2016-07-30 13:24  QRcodeDecoder.rc

     文件  122966016  2018-05-14 17:54  QRcodeDecoder.sdf

     文件        892  2016-08-01 00:08  QRcodeDecoder.sln

    ..A..H.     26112  2018-05-14 17:54  QRcodeDecoder.suo

     文件       9052  2016-07-30 13:24  QRcodeDecoder.vcxproj

     文件       3860  2016-07-26 01:27  QRcodeDecoder.vcxproj.filters

     文件        143  2016-07-26 01:27  QRcodeDecoder.vcxproj.user

     文件       8436  2016-08-01 00:08  QRcodeDecoderDlg.cpp

     文件       1992  2016-07-31 23:46  QRcodeDecoderDlg.h

     文件      17034  2016-08-01 00:08  QRcodeImage.cpp

     文件       1703  2016-08-01 00:08  QRcodeImage.h

............此处省略29个文件信息

评论

共有 条评论