• 大小: 19.14MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-13
  • 语言: C/C++
  • 标签: 人脸识别  

资源简介

可用于毕业设计,简单的人脸识别系统,一个完整的人脸识别系统源代码,可以用于毕业设计

资源截图

代码片段和文件信息

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

#include “stdafx.h“
#include “DIB.h“
#include“math.h“
#define WIDTHBYTES(bits)  ((bits+31)/32*4)
#define RECTWIDTH(x) (x->right-x->left)
#define RECTHEIGHT(x) (x->bottom-x->top)
#define THRESHOLDCONTRAST  40
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define PI 3.1415926
extern int locaxlocay;
#define m_WIDTH 600
#define m_HEIGHT 600

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
/////////////////////////////////////////////////////////////////////
HDIB DIB::ReadDIBFile(HANDLE hFile)
{
BITMAPFILEHEADER bmfHeader;
DWORD dwBitsSize;
HANDLE hDIB;
HANDLE hDIBtmp;
LPBITMAPINFOHEADER lpbi;
DWORD dwRead;
    //得到文件大小
dwBitsSize = GetFileSize(hFileNULL);
hDIB =  GlobalAlloc(GMEM_MOVEABLE(DWORD)(sizeof(BITMAPINFOHEADER)));

if(!hDIB)
return NULL;

lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
if(!lpbi)
{
GlobalFree(hDIB);
return NULL;
}

if(!ReadFile(hFile(LPBYTE)&bmfHeadersizeof(BITMAPFILEHEADER)&dwReadNULL))
goto ErrExit;
if(sizeof(BITMAPFILEHEADER)!=dwRead)//读取文件出错
goto ErrExit;
if(bmfHeader.bfType != 0x4d42)//文件类型不匹配
goto ErrExit;
if(!ReadFile(hFile(LPBYTE)lpbisizeof(BITMAPINFOHEADER)&dwReadNULL))
goto ErrExit;
if(sizeof(BITMAPINFOHEADER)!= dwRead)//读取数据出错
goto ErrExit;

GlobalUnlock(hDIB);
if(lpbi->biSizeImage==0)
lpbi->biSizeImage = (this->BytePerLine(hDIB))*lpbi->biHeight;
hDIBtmp = GlobalReAlloc(hDIBlpbi->biSize+lpbi->biSizeImage0);
if(!hDIBtmp)
goto ErrExitNoUnlock;
else
hDIB = hDIBtmp;
lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIB);
//根据情况设定文件指针
if(bmfHeader.bfOffBits != 0L)
SetFilePointer(hFilebmfHeader.bfOffBitsNULLFILE_BEGIN);
    //读取文件的象素颜色数据
if(ReadFile(hFile(LPBYTE)lpbi+lpbi->biSizelpbi->biSizeImage&dwReadNULL))
goto OKExit;

ErrExit:
GlobalUnlock(hDIB);

ErrExitNoUnlock:
GlobalFree(hDIB); //释放内存
return NULL;

OKExit:
GlobalUnlock(hDIB);
return hDIB;

}

HDIB DIB::LoadDIB(LPCTSTR lpFileName)
{
HANDLE hDIB;
HANDLE hFile;
//创建文件句柄
if((hFile = CreateFile(lpFileNameGENERIC_READFILE_SHARE_READNULLOPEN_EXISTINGFILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCANNULL))!= INVALID_HANDLE_VALUE)
{  
//读取数据
hDIB = ReadDIBFile(hFile);
//关闭文件句柄
CloseHandle(hFile);
return hDIB;
}
return NULL;
}

BOOL DIB::PaintDIBTrue(HDC hDCLPRECT lpDCRectHANDLE hDIBLPRECT lpDIBRect DWORD dwRop)
{
LPBYTE lpDIBHdr;
LPBYTE lpDIBBits;
BOOL bSuccess = FALSE;

if(!hDIB)
return FALSE;
lpDIBHdr = (LPBYTE)GlobalLock(hDIB);
lpDIBBits = lpDIBHdr + sizeof(BITMAPINFOHEADER);
bSuccess = StretchDIBits(hDClpDCRect->left
 lpDCRect->top
 RECTWIDTH(lpDCRect)
 RECTHEIGHT(lpDCRect)
 lpDIBRect->left

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-08 16:33  人脸检测系统-用于毕设\
     目录           0  2018-05-08 16:47  人脸检测系统-用于毕设\Backup\
     目录           0  2018-05-08 16:32  人脸检测系统-用于毕设\Backup1\
     文件         953  2018-05-08 16:31  人脸检测系统-用于毕设\Backup1\face.sln
     文件       18944  2018-05-08 16:32  人脸检测系统-用于毕设\Backup1\face.v12.suo
     文件       48361  2003-12-04 16:34  人脸检测系统-用于毕设\DIB.cpp
     文件        3578  2003-12-04 16:34  人脸检测系统-用于毕设\DIB.h
     目录           0  2018-05-08 16:31  人脸检测系统-用于毕设\Debug\
     文件         691  2018-05-08 16:32  人脸检测系统-用于毕设\Debug\face.log
     文件        2603  2003-12-04 16:35  人脸检测系统-用于毕设\MainFrm.cpp
     文件        1492  2003-12-04 16:35  人脸检测系统-用于毕设\MainFrm.h
     文件        4263  2003-12-04 16:35  人脸检测系统-用于毕设\ReadMe.txt
     文件        1578  2003-12-04 16:35  人脸检测系统-用于毕设\Resource.h
     文件         206  2003-12-04 16:35  人脸检测系统-用于毕设\StdAfx.cpp
     文件        1054  2003-12-04 16:35  人脸检测系统-用于毕设\StdAfx.h
     文件       33860  2018-05-08 16:31  人脸检测系统-用于毕设\UpgradeLog.htm
     文件       34414  2018-05-08 16:32  人脸检测系统-用于毕设\UpgradeLog2.htm
     文件       30076  2006-10-26 19:46  人脸检测系统-用于毕设\face.aps
     文件        2871  2006-10-26 19:56  人脸检测系统-用于毕设\face.clw
     文件        4306  2003-12-04 16:34  人脸检测系统-用于毕设\face.cpp
     文件        4632  2003-12-04 16:34  人脸检测系统-用于毕设\face.dsp
     文件         533  2003-12-04 16:34  人脸检测系统-用于毕设\face.dsw
     文件        1334  2003-12-04 16:34  人脸检测系统-用于毕设\face.h
     文件      222208  2006-10-26 19:56  人脸检测系统-用于毕设\face.ncb
     文件       76800  2006-10-26 19:56  人脸检测系统-用于毕设\face.opt
     文件         242  2006-10-26 19:53  人脸检测系统-用于毕设\face.plg
     文件       12973  2003-12-04 18:39  人脸检测系统-用于毕设\face.rc
     文件    71827456  2018-05-08 16:33  人脸检测系统-用于毕设\face.sdf
     文件         953  2018-05-08 16:32  人脸检测系统-用于毕设\face.sln
     文件       13312  2018-05-08 16:33  人脸检测系统-用于毕设\face.v12.suo
     文件        8212  2018-05-08 16:32  人脸检测系统-用于毕设\face.vcxproj
............此处省略13个文件信息

评论

共有 条评论