• 大小: 816KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: 签名  识别  源码  

资源简介

模式识别mini project-脱机手写签名识别,这是每个学习模式识别的同学必做的课程设计mini project,主要功能要求如下: 一共有20个人,在其对应的文件夹中存放了每个人的20个手写签名图像,每幅图像均为PCX图像格式,大小为129 94像素大小。 对每个人的手写签名,用其中80%的图像作为训练样本进行训练,用余下的20%的图像进行测试。在签名图像进行特征提取时,提取6 个ET1和6 个DT12轮廓特征。 每一个人的手写签名特征假设为48维特征空间的多维高斯分布。用贝叶斯参数估计法估算概率密度函数(pdf),然后用Bayes分类器识别。分别计算close test和open test下的分类性能。 根据每个类的概率分布函数的最近邻估算来计算贝叶斯识别的open test识别率。 适用kn最近邻法来直接估算每个类在每个测试样本的后验概率并计算open test下的分类性能,将该识别率表示为一个关于k的函数并绘图。这些是基于后验概率的非参数估计的贝叶斯估计。

资源截图

代码片段和文件信息

//////////////////////////////////////////////////////////////////////
//
// ShellBrowser.cpp: implementation of the CShellBrowser class.
//

#include “stdafx.h“
#include “BrowseForFolder.h“

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

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

CBrowseForFolder::CBrowseForFolder(const HWND hParent /*= NULL*/ const LPITEMIDLIST pidl /*= NULL*/ const int ntitleID /*= 0*/)
{
m_hwnd = NULL;
SetOwner(hParent);
SetRoot(pidl);
Settitle(ntitleID);
m_bi.lpfn = BrowseCallbackProc;
m_bi.lParam = reinterpret_cast(this);
m_bi.pszDisplayName = m_szSelected;
}

CBrowseForFolder::CBrowseForFolder(const HWND hParent const LPITEMIDLIST pidl const CString& strtitle)
{
m_hwnd = NULL;
SetOwner(hParent);
SetRoot(pidl);
Settitle(strtitle);
m_bi.lpfn = BrowseCallbackProc;
m_bi.lParam = reinterpret_cast(this);
m_bi.pszDisplayName = m_szSelected;
}

CBrowseForFolder::~CBrowseForFolder()
{

}

//////////////////////////////////////////////////////////////////////
//
// Implementation
//

void CBrowseForFolder::SetOwner(const HWND hwndOwner)
{
if (m_hwnd != NULL)
return;

m_bi.hwndOwner = hwndOwner;
}

void CBrowseForFolder::SetRoot(const LPITEMIDLIST pidl)
{
if (m_hwnd != NULL)
return;

m_bi.pidlRoot = pidl;
}

CString CBrowseForFolder::Gettitle() const
{
return m_bi.lpsztitle;
}

void CBrowseForFolder::Settitle(const CString& strtitle)
{
if (m_hwnd != NULL)
return;

m_pchtitle = std::auto_ptr(new char [static_cast(strtitle.GetLength()) + 1]);
strcpy(m_pchtitle.get() strtitle);
m_bi.lpsztitle = m_pchtitle.get();
}

bool CBrowseForFolder::Settitle(const int ntitle)
{
if (ntitle <= 0)
return false;

CString strtitle;
if(!strtitle.LoadString(static_cast(ntitle)))
{
return false;
}
Settitle(strtitle);
return true;
}

void CBrowseForFolder::SetFlags(const UINT ulFlags)
{
if (m_hwnd != NULL)
return;

m_bi.ulFlags = ulFlags;
}

CString CBrowseForFolder::GetSelectedFolder() const
{
return m_szSelected;
}

bool CBrowseForFolder::SelectFolder()
{
bool bRet = false;

LPITEMIDLIST pidl;
if ((pidl = ::SHBrowseForFolder(&m_bi)) != NULL)
{
m_strPath.Empty();
if (SUCCEEDED(::SHGetPathFromIDList(pidl m_szSelected)))
{
bRet = true;
m_strPath = m_szSelected;
}

LPMALLOC pMalloc;
//Retrieve a pointer to the shell‘s IMalloc interface
if (SUCCEEDED(SHGetMalloc(&pMalloc)))
{
// free the PIDL that SHBrowseForFolder returned to us.
pMalloc->Free(pidl);
// release the shell‘s IMalloc interface
(void)pMalloc->Release();
}
}
m_hwnd = NULL;

return bRet;
}

void CBrowseForFolder::OnInit() const
{

}

void CBrowseForFolder::OnSelChanged(const LPITEMIDLIST pidl) const
{
(void)pidl;
}

v

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-12-25 19:17  模式识别mini project-脱机手写签名识别\
     目录           0  2011-12-25 19:17  模式识别mini project-脱机手写签名识别\hand\
     目录           0  2011-12-25 18:55  模式识别mini project-脱机手写签名识别\hand\hand\
     文件        4161  1998-05-19 22:00  模式识别mini project-脱机手写签名识别\hand\hand\BrowseForFolder.cpp
     文件        5448  1998-06-05 23:05  模式识别mini project-脱机手写签名识别\hand\hand\BrowseForFolder.h
     文件        5481  2007-07-11 11:41  模式识别mini project-脱机手写签名识别\hand\hand\Cov.cpp
     文件         641  2007-06-17 14:00  模式识别mini project-脱机手写签名识别\hand\hand\Cov.h
     文件       28372  2007-06-05 10:53  模式识别mini project-脱机手写签名识别\hand\hand\DIBAPI.CPP
     文件        1806  2001-02-14 18:36  模式识别mini project-脱机手写签名识别\hand\hand\DIBAPI.H
     目录           0  2011-12-25 19:18  模式识别mini project-脱机手写签名识别\hand\hand\Debug\
     文件       18713  2007-06-17 12:15  模式识别mini project-脱机手写签名识别\hand\hand\Feature.cpp
     文件        1057  2007-06-16 20:38  模式识别mini project-脱机手写签名识别\hand\hand\Feature.h
     文件        2449  2007-07-11 17:00  模式识别mini project-脱机手写签名识别\hand\hand\Knnear.cpp
     文件         523  2007-06-20 16:55  模式识别mini project-脱机手写签名识别\hand\hand\Knnear.h
     文件        1794  2007-06-05 11:10  模式识别mini project-脱机手写签名识别\hand\hand\MainFrm.cpp
     文件         655  2007-06-05 11:10  模式识别mini project-脱机手写签名识别\hand\hand\MainFrm.h
     文件        2804  2007-07-08 16:13  模式识别mini project-脱机手写签名识别\hand\hand\Matrix.cpp
     文件         347  2007-06-17 13:32  模式识别mini project-脱机手写签名识别\hand\hand\Matrix.h
     文件        3768  2007-06-05 22:46  模式识别mini project-脱机手写签名识别\hand\hand\ReadMe.txt
     目录           0  2011-12-25 19:18  模式识别mini project-脱机手写签名识别\hand\hand\Release\
     文件         535  2001-01-15 17:33  模式识别mini project-脱机手写签名识别\hand\hand\ch1_1.dsw
     文件       84458  2011-12-25 19:06  模式识别mini project-脱机手写签名识别\hand\hand\featuretable.txt
     文件        2406  2007-06-18 17:25  模式识别mini project-脱机手写签名识别\hand\hand\findpdf.cpp
     文件         501  2007-06-16 22:58  模式识别mini project-脱机手写签名识别\hand\hand\findpdf.h
     文件       74056  2007-07-11 12:07  模式识别mini project-脱机手写签名识别\hand\hand\hand.aps
     文件       24949  2007-07-10 16:52  模式识别mini project-脱机手写签名识别\hand\hand\hand.cpp
     文件        1631  2007-07-10 16:42  模式识别mini project-脱机手写签名识别\hand\hand\hand.h
     文件       17460  2007-07-11 12:07  模式识别mini project-脱机手写签名识别\hand\hand\hand.rc
     文件         616  2007-06-05 12:45  模式识别mini project-脱机手写签名识别\hand\hand\hand.reg
     文件        6782  2007-07-08 16:12  模式识别mini project-脱机手写签名识别\hand\hand\hand.vcproj
     文件        1427  2007-07-11 17:04  模式识别mini project-脱机手写签名识别\hand\hand\hand.vcproj.1223B7E476C14B4.Administrator.user
............此处省略448个文件信息

评论

共有 条评论