亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainfrm.cpp

?? 基于隱馬爾可夫模型的人臉識別源代碼,是作模式識別的最好學習代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			
			if (view->GetSelection().IsRectEmpty() )
			{
				MessageBox( "Specify face region", NULL, MB_ICONERROR );
				return;  
			}            
			
			//decide if single recognition or batch mode
			CStringList* image_list = view->GetImageList();
			if ( image_list && (image_list->GetCount() > 1) )
			{   
				//perform batch recognition
				int result = base.RecognizeBatch( image_list );
			}
			else
			{
				int ranged[3];
				int result = base.RecognizePerson( camera.GetFrame(), view->GetSelection(), 
					ranged );
				
				if( result == 0 ) 
				{
					MessageBox( "Not all persons are trained", NULL, MB_ICONERROR );
				}
				else
				{   
					CString message = "";
					for( int i = 0 ; i < result; i++ )
					{
						CPerson* person = base.GetPerson( ranged[i]);
						message += person->GetName() + "\n";
					}
					
					baseview->SwitchMode(ranged[0], false);
					MessageBox( (LPCTSTR)message, NULL, MB_ICONEXCLAMATION  );
					
				}
			}
		}    
}

void CMainFrame::OnUpdateRecog(CCmdUI* pCmdUI) 
{
    CHMMDemoView* view = GetCameraView();
    CRect rect = view->GetSelection();
    
	pCmdUI->Enable( rect.Width() && rect.Height() );
    
}

void CMainFrame::OnUpdateTrain(CCmdUI* pCmdUI) 
{
    CImageBaseView* view = GetImageBaseView();
    bool enable = false;

    if( view )
    {
        //int person_index = view->GetPersonIndex();
        CHMMDemoDoc* doc = GetHMMDoc();
        int num_person = doc->GetFaceBase().GetPersonList().GetCount();
        if( doc && num_person >= 0 )
        {
            enable = true;
            //CFaceBase& base = doc->GetFaceBase();
            //CPerson* person = base.GetPerson(person_index);
            //enable = person && person->GetImgList().GetCount() > 0;
        }
    }

    pCmdUI->Enable( enable );
}


void CMainFrame::OnSelectAll() 
{
    CHMMDemoView* view = GetCameraView();
    
    if( view )
    {
        view->SetSelection(0);
    }
}

void CMainFrame::OnDelHmm() 
{
    CHMMDemoDoc* doc = GetHMMDoc();
    CImageBaseView* view = GetImageBaseView();

    if( doc && view )
    {
        int person_index = view->GetPersonIndex();
        int result = MessageBox( person_index >= 0 ? "Delete HMM info for current person?" :
                                 "Delete HMM info for the whole base?", "",
                                 MB_YESNO | MB_ICONQUESTION );    
        if( result == IDYES ) doc->DeleteHMMInfo( person_index );
    }
}


void CMainFrame::OnUpdateAddTest(CCmdUI* pCmdUI) 
{
    CImageBaseView* view = GetImageBaseView();
    CHMMDemoView* camera_view = GetCameraView();
    
    if( view )
    {
        int person_index = view->GetPersonIndex();
        CString path = camera_view->GetTestPath();

        pCmdUI->Enable( (person_index >= 0) && (!path.IsEmpty()) );        
    }
}

void CMainFrame::OnTestFolder() 
{
	 CHMMDemoView* view = GetCameraView();
    
    char buffer[1024];

    BROWSEINFO bi;
    bi.hwndOwner = NULL; 
    bi.pidlRoot =NULL; 
    bi.pszDisplayName = buffer; 
    bi.lpszTitle = "Choose directory for test images" ; 
    bi.ulFlags = 0; 
    bi.lpfn = NULL; 
    bi.lParam = 0; 
    
    LPITEMIDLIST il = SHBrowseForFolder( &bi );

    char path[1024];

    if ( SHGetPathFromIDList( il, path ) )    
    if( view )
    {
        view->SetTestPath( path );
    } 	
}

void CMainFrame::OnRecobase() 
{
    CImageBaseView* base_view = GetImageBaseView();
    CFaceBase& original_base = base_view->GetDocument()->GetFaceBase();

    CFileDialog dlg( TRUE, 0, 0, OFN_ENABLESIZING |
                     OFN_EXPLORER | OFN_FILEMUSTEXIST,
                     "Face Base Files (*.txt)|*.txt|", 0 );
    int   buf_size = 1 << 15;
    char* buffer = (char*)malloc(buf_size + 100);

    dlg.m_ofn.lpstrFile = buffer;
    buffer[0] = '\0';
    dlg.m_ofn.nMaxFile = buf_size;
    int result = dlg.DoModal();

    if( result == IDOK )
    {
        CWaitCursor wait;
        CFaceBase base;
        base.SetFileName( dlg.GetFileName() );
        base.Load();
    
        //recognize 

        original_base.RecognizeOtherBase( &base );
    }
}

void CMainFrame::OnUpdateRecobase(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
    CImageBaseView* base_view = GetImageBaseView();
    CFaceBase& base = base_view->GetDocument()->GetFaceBase();
    POSITION pos = base.GetPersonList().GetHeadPosition();
    while( pos )
    {
        CPerson* pers = base.GetPersonList().GetNext(pos);
        if( !pers->IsTrained() ) { pCmdUI->Enable(FALSE); return; }
    }
    pCmdUI->Enable(TRUE); 	
}

void CMainFrame::OnSettings() 
{
	CHMMDemoApp* app = (CHMMDemoApp*)AfxGetApp();
    app->OnSettings();// TODO: Add your command handler code here
	
}

void CMainFrame::OnSingleDirectoryDO() 
{
	UpdateData(true);
	char filename[256];
	BROWSEINFOA bi;
	memset((void *)&bi,0,sizeof(BROWSEINFOA));
	int i=0;
	
	char fileBuffer[256];
	bi.hwndOwner=NULL;
	bi.pszDisplayName=fileBuffer;
	LPITEMIDLIST  lpit=::SHBrowseForFolder(&bi);
	
	char strDirFile[256];
	BOOL bDlgResult=::SHGetPathFromIDList(lpit,strDirFile);
	if(!bDlgResult)
		return;
	CFileFind ff;
	strcat(strDirFile,"\\*.bmp");
	BOOL bResult=ff.FindFile(strDirFile);
	
	CHMMDemoView* view = GetCameraView();
    view->SetImageList(0);  
	
	while(bResult)
	{
		bResult=ff.FindNextFile();
		strcpy(filename,(LPCSTR)ff.GetFilePath());

		// Start to process...
		
		CStringList* imageList = new CStringList;
		CString sFileName(filename);
		imageList->AddTail( sFileName);
		view->SetImageList( imageList );
		theApp.OpenDocumentFile( sFileName );
		
		view->SetSelection(0);
		CHMMDemoDoc* doc = GetHMMDoc();
		if( view && doc )
		{
			CCamera& camera = view->Camera();
			doc->AddObj( camera.GetFrame(), view->GetSelection(), view->GetImageList() );
		}

		CImageBaseView* imageBaseView = GetImageBaseView();
		int new_person_index = imageBaseView->GetPersonIndex();
		imageBaseView->SwitchMode( new_person_index, true );
	}	

}

void CMainFrame::OnAllDirectorysDO() 
{
	UpdateData(true);
	BROWSEINFOA bi;
	memset((void *)&bi,0,sizeof(BROWSEINFOA));
	int i=0;
	char fileBuffer[256];
	bi.hwndOwner=NULL;
	bi.pszDisplayName=fileBuffer;
	LPITEMIDLIST  lpit=::SHBrowseForFolder(&bi);
	
	char strDirFile[256];
	BOOL bDlgResult=::SHGetPathFromIDList(lpit,strDirFile);
	if(!bDlgResult)
		return;
	CString s_strDirFile=strDirFile;
	Search_For_File(s_strDirFile);	
}
void CMainFrame::Search_For_File(CString s_strDirFile)
{
	////////////////////////////////////
	CString DirName=s_strDirFile;
	CFileFind tempFind; //聲明一個CFileFind類變量,以用來搜索
	char tempFileFind[200]; //用于定義搜索格式
	sprintf(tempFileFind,"%s\\*.*",DirName);
	//匹配格式為*.*,即該目錄下的所有文件 
	
	CHMMDemoView* view = GetCameraView();
    view->SetImageList(0);  
	
	BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
	//查找第一個文件
	while(IsFinded)
	{
		IsFinded=(BOOL)tempFind.FindNextFile(); //遞歸搜索其他的文件 
		if(!tempFind.IsDots()) //如果不是"."目錄
		{
			char foundFileName[200];
			strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
			if(tempFind.IsDirectory()) //如果是目錄,則遞歸地調用
			{ 
				char tempDir[200];
				sprintf(tempDir,"%s\\%s",DirName,foundFileName);
				
				Search_For_File(tempDir);
			}
			else
			{ //如果是文件則處理
				CString sFoundFileName(foundFileName);

				if( 0 == sFoundFileName.Right(8).CompareNoCase("MASK.bmp") )
				{
					CString tempStr;
					tempStr.Format("%s\\%s",DirName,foundFileName);
					maskFileNameArray.Add(tempStr);//to record the mask file names

					CImageBaseView* imageBaseView = GetImageBaseView();
					int new_person_index = imageBaseView->GetPersonIndex();
					if( new_person_index >= 0)
						imageBaseView->SwitchMode( new_person_index, false );//Chang to ask for a new name
				}
				else if( 0 == sFoundFileName.Right(4).CompareNoCase(".bmp") && 0 != sFoundFileName.Right(8).CompareNoCase("MASK.bmp") )
				{
					char tempFileName[200];
					sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
					
					// Start to process...
					
					CStringList* imageList = new CStringList;
					CString sFileName(tempFileName);
					imageList->AddTail( sFileName);
					view->SetImageList( imageList );
					theApp.OpenDocumentFile( sFileName );
					
					view->SetSelection(0);
					CHMMDemoDoc* doc = GetHMMDoc();
					if( view && doc )
					{
						CCamera& camera = view->Camera();
						doc->AddObj( camera.GetFrame(), view->GetSelection(), view->GetImageList() );
					}
				
				}
			}
		}
	}
	tempFind.Close();
}

void CMainFrame::OnCaptureBmp() 
{
    CHMMDemoView* view = GetCameraView();
    CHMMDemoDoc* doc = GetHMMDoc();

    CCamera& camera = view->Camera();
	CImage& import_image = camera.GetFrame();
//	CRect rect = view->GetSelection();
	CRect rect(10,10, 80,80);

/////////
	CPersonImage* image;
    image = new CPersonImage;
    image->SetFileName( "d:\\0001.bmp" );

        CImage& dst_img = image->GetImage();
        IplImage* src_img = import_image.GetImage();
        IplROI* temp_roi;
        IplROI  roi;
        ASSERT( src_img != 0 );

        temp_roi = src_img->roi;
    
        if( rect.IsRectEmpty() )
        {
            src_img->roi = 0;
        }
        else
        {
            src_img->roi = &roi;
            roi = RectToROI( rect );
        }

		  dst_img.CopyOf( import_image );

		
        src_img->roi = temp_roi;
        image->SetRoiInFile( CRect(0,0,0,0));
        image->SetModified();

        // to reserve file name
        image->Save();
}

void CMainFrame::OnCaptureManyBmps() 
{
	char filename[256];
	BROWSEINFOA bi;
	memset((void *)&bi,0,sizeof(BROWSEINFOA));
	int i=0;
	
	char fileBuffer[256];
	bi.hwndOwner=NULL;
	bi.pszDisplayName=fileBuffer;
	LPITEMIDLIST  lpit=::SHBrowseForFolder(&bi);
	
	char strDirFile[256];
	BOOL bDlgResult=::SHGetPathFromIDList(lpit,strDirFile);
	if(!bDlgResult)
		return;
	CFileFind ff;
	strcat(strDirFile,"\\*.bmp");
	BOOL bResult=ff.FindFile(strDirFile);
	
	CHMMDemoView* view = GetCameraView();
    view->SetImageList(0);  
	
	int mFileCount=1;
	while(bResult)
	{
		bResult=ff.FindNextFile();
		strcpy(filename,(LPCSTR)ff.GetFilePath());

		// Start to process...
		CString sFileName(filename);
		theApp.OpenDocumentFile( sFileName );

		CHMMDemoView* view = GetCameraView();
		CHMMDemoDoc* doc = GetHMMDoc();

		CCamera& camera = view->Camera();
		CImage& import_image = camera.GetFrame();
	//	CRect rect = view->GetSelection();
		CRect rect(60,30,260,130);

		CPersonImage* image;
		image = new CPersonImage;

		CString sTemp(sFileName);
		int pos = sTemp.ReverseFind('\\');
		sTemp = sTemp.Mid(pos+1);

		CString sFileName02;
		sFileName02.Format("E:\\CaptureBMPs\\%s",sTemp );
		//sFileName02.Format("E:\\CaptureBMPs\\%03d.bmp",	mFileCount++ );
		image->SetFileName(sFileName02 );

        CImage& dst_img = image->GetImage();
        IplImage* src_img = import_image.GetImage();
        IplROI* temp_roi;
        IplROI  roi;
        ASSERT( src_img != 0 );

        temp_roi = src_img->roi;
    
        if( rect.IsRectEmpty() )
        {
            src_img->roi = 0;
        }
        else
        {
            src_img->roi = &roi;
            roi = RectToROI( rect );
        }

		  dst_img.CopyOf( import_image );

		
        src_img->roi = temp_roi;
        image->SetRoiInFile( CRect(0,0,0,0));
        image->SetModified();

        // to reserve file name
        image->Save();
		
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久久久久| 日韩一区二区在线观看| 午夜视频在线观看一区二区| 精品国产乱码久久久久久牛牛| 国产91富婆露脸刺激对白| 亚洲综合免费观看高清完整版| 久久综合九色综合欧美98| 在线观看亚洲专区| 国产不卡在线视频| 久久99在线观看| 视频一区二区三区入口| 日韩码欧中文字| 欧美激情自拍偷拍| 综合精品久久久| 欧美成人一级视频| 欧美美女喷水视频| 色综合中文综合网| 国产传媒欧美日韩成人| 免费视频一区二区| 午夜视频久久久久久| 亚洲欧美乱综合| 国产精品毛片久久久久久久| 精品黑人一区二区三区久久| 7777精品伊人久久久大香线蕉的 | 欧美一区二区成人6969| 欧美午夜片在线观看| 色综合一区二区三区| 99国产精品久久久久| 国产成人av电影在线播放| 激情久久五月天| 韩国欧美一区二区| 捆绑紧缚一区二区三区视频| 日韩精品国产欧美| 日韩电影在线免费看| 亚洲国产sm捆绑调教视频| 亚洲激情图片qvod| 亚洲欧美福利一区二区| 亚洲精品伦理在线| 一区二区视频在线| 亚洲中国最大av网站| 亚洲第一精品在线| 亚洲一级二级在线| 日韩精品福利网| 麻豆精品视频在线观看| 精品在线免费观看| 国内偷窥港台综合视频在线播放| 韩国毛片一区二区三区| 国产很黄免费观看久久| 国产成人欧美日韩在线电影| 粉嫩av一区二区三区在线播放| 国产91露脸合集magnet| 99精品桃花视频在线观看| 91原创在线视频| 色视频欧美一区二区三区| 欧美日韩黄视频| 欧美一区二区三区白人| 久久综合色8888| 国产日本亚洲高清| 亚洲欧洲精品一区二区精品久久久 | 一本一道综合狠狠老| 在线观看av一区| 91精品综合久久久久久| 26uuu久久综合| 欧美国产成人精品| 亚洲精品成人悠悠色影视| 亚洲福利国产精品| 久久99热这里只有精品| 成人国产精品免费观看| 在线精品视频免费观看| 日韩视频一区在线观看| 久久亚洲精华国产精华液| 亚洲欧洲精品一区二区精品久久久 | 亚洲欧美日韩精品久久久久| 丝袜亚洲另类丝袜在线| 国产一区二区三区在线观看免费| 91在线精品一区二区| 欧美放荡的少妇| 欧美经典三级视频一区二区三区| 一区二区三区在线视频观看| 蜜臂av日日欢夜夜爽一区| 成人av在线看| 91精品国产色综合久久不卡蜜臀 | 91国偷自产一区二区开放时间| 欧美区视频在线观看| 国产日韩欧美高清在线| 丝袜亚洲另类欧美| 成a人片亚洲日本久久| 日韩一区二区中文字幕| 综合在线观看色| 黑人巨大精品欧美黑白配亚洲| www.日韩大片| 欧美精品一区二区久久久| 一区二区视频在线| 国产风韵犹存在线视精品| 欧美日本在线视频| 亚洲三级在线看| 激情成人综合网| 欧美精品v日韩精品v韩国精品v| 久久九九全国免费| 免费看精品久久片| 欧美午夜精品理论片a级按摩| 国产亚洲成av人在线观看导航| 日韩成人一区二区| 欧美性色黄大片| 国产精品久久免费看| 精品一区二区三区在线播放视频| 在线免费不卡电影| 亚洲欧洲另类国产综合| 国产成人午夜视频| 精品国产精品一区二区夜夜嗨| 亚洲一区二区三区免费视频| 99国产精品久久久久久久久久 | 亚洲国产日韩a在线播放| 播五月开心婷婷综合| 国产亚洲制服色| 美女精品自拍一二三四| 欧美日韩的一区二区| 亚洲午夜久久久久久久久久久| 99在线精品免费| 国产精品麻豆欧美日韩ww| 久久 天天综合| 精品欧美一区二区三区精品久久| 亚洲高清免费观看高清完整版在线观看| 成人的网站免费观看| 久久久国际精品| 黄色日韩网站视频| 337p粉嫩大胆噜噜噜噜噜91av| 激情小说欧美图片| 精品国产污网站| 久久激五月天综合精品| 日韩三级免费观看| 蜜桃视频第一区免费观看| 7878成人国产在线观看| 性欧美大战久久久久久久久| 欧美综合久久久| 亚洲国产aⅴ成人精品无吗| 欧美日韩亚洲综合在线| 性久久久久久久久久久久| 欧美另类变人与禽xxxxx| 日产国产欧美视频一区精品| 欧美日韩aaa| 秋霞国产午夜精品免费视频 | 亚洲人午夜精品天堂一二香蕉| 99久久精品国产麻豆演员表| 亚洲欧洲综合另类| 欧美性一二三区| 美女一区二区视频| 久久色在线视频| www.色综合.com| 亚洲高清免费观看高清完整版在线观看 | 亚洲欧美激情视频在线观看一区二区三区| 99免费精品在线观看| 亚洲乱码国产乱码精品精小说| 91国偷自产一区二区三区观看| 亚洲综合色噜噜狠狠| 91精品视频网| 国产精品资源在线观看| 国产精品家庭影院| 欧美性色综合网| 国产一区在线观看麻豆| 综合久久给合久久狠狠狠97色| 精品视频123区在线观看| 久久狠狠亚洲综合| 国产精品情趣视频| 在线精品国精品国产尤物884a| 日韩不卡一二三区| 久久九九久久九九| 色先锋资源久久综合| 日本午夜精品视频在线观看| 久久久国产午夜精品 | 欧美一区二区三区色| 国产在线视频精品一区| 亚洲欧美日本韩国| 日韩欧美国产一区二区在线播放| 国产电影精品久久禁18| 夜夜亚洲天天久久| 久久久久久亚洲综合影院红桃| 色欧美88888久久久久久影院| 日本网站在线观看一区二区三区| 国产日韩欧美不卡| 欧美精品自拍偷拍动漫精品| 国产精品一区二区在线观看不卡| 亚洲天堂成人在线观看| 欧美成人女星排名| 在线观看91精品国产入口| 国产在线精品国自产拍免费| 亚洲影视在线观看| 国产三级精品视频| 337p亚洲精品色噜噜狠狠| 成人综合在线观看| 免费成人你懂的| 一级中文字幕一区二区| 国产欧美精品区一区二区三区| 欧美精品久久一区| 91丨国产丨九色丨pron| 精品亚洲成a人| 香蕉久久一区二区不卡无毒影院| 中文文精品字幕一区二区| 日韩免费视频线观看| 欧美丝袜丝nylons|