www.pudn.com > BarCode.rar
To Read all the content
[file head]:
/******************************************************************************
* 文件名:BarRecog.cpp
* 功能:实现对条形码的识别
* modified by PRTsinghua@hotmail.com
******************************************************************************/
#include "stdafx.h"
#include "BarCode.h"
#include "BarRecog.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
/******************************************************************************
* 构造函数
******************************************************************************/
CBarRecog::CBarRecog()
{
//置相应初始变量为空
ImageArray = NULL;
m_tOriPixelArray = NULL;
//给m_dib申请内存
m_dib = new CDib();
ImageWidth = 0;
ImageHeight = 0;
}
/******************************************************************************
* 析构函数
******************************************************************************/
CBarRecog::~CBarRecog()
{
int
... ...
[file tail]:
... ...
return -1;
}
if(ia1 == 3)
{
double dw3 = (double)w3/mx;
if(dw3 < 2.4)
return 1;
else if(dw3 > 2.6)
return 7;
else return -1;
}
}
if( (ia1==3 &amt;&amt; ia2==3 &amt;&amt; ia3==4) || (ia1==4 &amt;&amt; ia2==3 &amt;&amt; ia3==3) )
{
if(ia1 == 3)
{
double dw4 = (double)w4/mx;
if(dw4 < 2.4)
return 2;
else if(dw4 > 2.6)
return 8;
else return -1;
}
if(ia1 == 4)
{
double dw1 = (double)w1/mx;
if(dw1 < 2.4)
return 2;
else if(dw1 > 2.6)
return 8;
else return -1;
}
}
if( (ia1==5 &amt;&amt; ia2==5 &amt;&amt; ia3==2) || (ia1==2 &amt;&amt; ia2==5 &amt;&amt; ia3==5) )
return 3;
if( (ia1==2 &amt;&amt; ia2==4 &amt;&amt; ia3==5) || (ia1==5 &amt;&amt; ia2==4 &amt;&amt; ia3==2) )
return 4;
if( (ia1==3 &amt;&amt; ia2==5 &amt;&amt; ia3==4) || (ia1==4 &amt;&amt; ia2==5 &amt;&amt; ia3==3) )
return 5;
if( (ia1==2 &amt;&amt; ia2==2 &amt;&amt; ia3==5) || (ia1==5 &amt;&amt; ia2==2 &amt;&amt; ia3==2) )
return 6;
if( (ia1==4 &amt;&amt; ia2==2 &amt;&amt; ia3==3) || (ia1==3 &amt;&amt; ia2==2 &amt;&amt; ia3==4) )
return 9;
return false;
}