• 大小: 6.21MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-01
  • 语言: 其他
  • 标签: 模板匹配  

资源简介

比较简单的基于模板匹配的英文字母识别程序,可以修改为数字识别,希望对大家有所帮助。谢谢下载。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “cdib.h“
#include “windowsx.h“

#define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4) 

CDib::CDib()
{
size=0;
}

CDib::~CDib()
{
    GlobalFreePtr(m_pBitmapInfo);
}

void CDib::LoadFile(const char* dibFileName)
{
   strcpy(m_fileNamedibFileName);
    CFile dibFile(m_fileName CFile::modeRead);
    dibFile.Read((void*)&bitmapFileHeadersizeof(BITMAPFILEHEADER));
    if (bitmapFileHeader.bfType == 0x4d42)
    {
        DWORD fileLength = dibFile.GetLength();    
         size = fileLength -sizeof(BITMAPFILEHEADER);
         pDib =(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE size);
        dibFile.Read((void*)pDib size);
        dibFile.Close();
        m_pBitmapInfo = (BITMAPINFO*) pDib;
        m_pBitmapInfoHeader = (BITMAPINFOHEADER*) pDib;
        m_pRGB = (RGBQUAD*)(pDib +
m_pBitmapInfoHeader->biSize);
        int m_numberOfColors = GetNumberOfColors();
        if (m_pBitmapInfoHeader->biClrUsed == 0)
            m_pBitmapInfoHeader->biClrUsed =
    m_numberOfColors;
        DWORD colorTableSize = m_numberOfColors *
            sizeof(RGBQUAD);
        m_pData = pDib + m_pBitmapInfoHeader->biSize
            + colorTableSize;
if (m_pRGB == (RGBQUAD*)m_pData) // No color table
m_pRGB = NULL;
        m_pBitmapInfoHeader->biSizeImage = GetSize();
m_valid = TRUE;
    }    
    else
    {
        m_valid = FALSE;
        AfxMessageBox(“This isn‘t a bitmap file!“);
    }
}

BOOL CDib::IsValid()
{
    return m_valid;
}
        
char* CDib::GetFileName()
{
    return m_fileName;
}
        
UINT CDib::GetWidth()
{
    return (UINT) m_pBitmapInfoHeader->biWidth;
}
        
UINT CDib::GetHeight()
{
    return (UINT) m_pBitmapInfoHeader->biHeight;
}
        
DWORD CDib::GetSize()
{
    if (m_pBitmapInfoHeader->biSizeImage != 0)
        return m_pBitmapInfoHeader->biSizeImage;
else
    {
        DWORD height = (DWORD) GetHeight();
        DWORD width = (DWORD) GetWidth();
        return height * width;
    }
}

void CDib::SetWidth(UINT width)
{
m_pBitmapInfoHeader->biWidth=width;
}

void CDib::SetHeight(UINT height)
{
m_pBitmapInfoHeader->biHeight=height;
}

UINT CDib::GetNumberOfColors()
{
int numberOfColors;

    if ((m_pBitmapInfoHeader->biClrUsed == 0) &&
          (m_pBitmapInfoHeader->biBitCount < 9))
{
switch (m_pBitmapInfoHeader->biBitCount)
{
    case 1: numberOfColors = 2; break;
    case 4: numberOfColors = 16; break;
    case 8: numberOfColors = 256;
}
}
    else
numberOfColors = (int) m_pBitmapInfoHeader->biClrUsed;

    return numberOfColors;
}
    
BYTE* CDib::GetData()
{
    return m_pData;
}

RGBQUAD* CDib::GetRGB()
{
    return m_pRGB;
}

BITMAPINFO* CDib::GetInfo()
{
    return m_pBitmapInfo;
}

WORD CDib::PaletteSize(LPBYTE lpDIB) 

    return (DIBNumColors(lpDIB) * sizeof(RGBTRIPLE)); 


WORD CDib::DIBNumColors(LPBYTE lpDIB) 

    WORD wBitC

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

     文件       9545  2012-02-27 16:20  识别程序\bpnet.txt

     文件      86016  2012-02-27 16:14  识别程序\DSPLIT.exe

     文件     150739  2012-03-04 13:34  识别程序\lmse.txt

     文件     962612  2012-02-27 16:14  识别程序\MFC42D.DLL

     文件     974901  2012-02-27 16:14  识别程序\MFC42UD.DLL

     文件     303157  2012-02-27 16:14  识别程序\MFCD42D.DLL

     文件     311350  2012-02-27 16:14  识别程序\MFCD42UD.DLL

     文件      61493  2012-02-27 16:14  识别程序\MFCN42D.DLL

     文件      61494  2012-02-27 16:14  识别程序\MFCN42UD.DLL

     文件     827445  2012-02-27 16:14  识别程序\MFCO42D.DLL

     文件     831542  2012-02-27 16:14  识别程序\MFCO42UD.DLL

     文件      94285  2012-02-27 16:14  识别程序\MSVCIRTD.DLL

     文件     516173  2012-02-27 16:14  识别程序\MSVCP60D.DLL

     文件     434252  2012-02-27 16:14  识别程序\MSVCRTD.DLL

     文件      58680  2012-02-27 16:14  识别程序\picture.bmp

     文件       1802  2012-02-27 16:20  识别程序\quanzhi.txt

     文件     271240  2012-03-03 23:22  识别程序\template.dat

     文件       3589  2012-03-05 16:31  识别程序\分类程序\Cdib.cpp

     文件        844  2012-02-27 16:14  识别程序\分类程序\Cdib.h

     文件       1795  2012-03-05 16:32  识别程序\分类程序\Classification.cpp

     文件        765  2012-03-04 13:43  识别程序\分类程序\Classification.h

     文件      12540  2012-03-03 16:10  识别程序\分类程序\Debug\BpNet.obj

     文件       6737  2012-03-03 16:10  识别程序\分类程序\Debug\BpNet.sbr

     文件      16809  2012-03-05 16:31  识别程序\分类程序\Debug\Cdib.obj

     文件      18903  2012-03-05 16:31  识别程序\分类程序\Debug\Cdib.sbr

     文件       6565  2012-03-05 16:32  识别程序\分类程序\Debug\Classification.obj

     文件       2666  2012-03-05 16:32  识别程序\分类程序\Debug\Classification.sbr

     文件      13791  2012-03-03 16:10  识别程序\分类程序\Debug\DlgClassify.obj

     文件       7495  2012-03-03 16:10  识别程序\分类程序\Debug\DlgClassify.sbr

     文件      13088  2012-03-03 16:10  识别程序\分类程序\Debug\Dlgdisplay.obj

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

评论

共有 条评论