#include "stdafx.h"
#include "demo.h"
#include "demoDlg.h"
#include "afxdialogex.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
using namespace cv;
CdemoDlg::CdemoDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CdemoDlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CdemoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CdemoDlg, CDialogEx)
ON_MESSAGE(MsgVideoFrame, onFrame)
ON_BN_CLICKED(IDC_StartVideo, &CdemoDlg::OnBnClickedStartvideo)
ON_BN_CLICKED(IDC_Pause, &CdemoDlg::OnBnClickedPause)
ON_BN_CLICKED(IDC_Resume, &CdemoDlg::OnBnClickedResume)
ON_BN_CLICKED(IDC_Close, &CdemoDlg::OnBnClickedClose)
ON_BN_CLICKED(IDC_Tensile, &CdemoDlg::OnBnClickedTensile)
ON_BN_CLICKED(IDC_Center, &CdemoDlg::OnBnClickedCenter)
ON_BN_CLICKED(IDC_Raw, &CdemoDlg::OnBnClickedRaw)
END_MESSAGE_MAP()
//处理每一帧的视频
LRESULT CdemoDlg::onFrame(WPARAM wp, LPARAM lp){
Mat frame((IplImage*)lp, false);
//这里仅仅做了下翻转
//flip(frame, frame, -1);
return 0;
}
BOOL CdemoDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
//链接到控件
m_show.linkDlgItem(IDC_Show, this);
return TRUE;
}
void CdemoDlg::OnBnClickedStartvideo()
{
//打开摄像头
m_show.openVideo(0);
//打开视频文件
//m_show.openVideo("g:/初音未来 虽然歌声无形.f4v");
//显示图像
//m_show.setImage(imread("G:/Image/miku.jpg"));
}
void CdemoDlg::OnBnClickedPause()
{
m_show.pauseVideo();
}
void CdemoDlg::OnBnClickedResume()
{
m_show.resumeVideo();
}
void CdemoDlg::OnBnClickedClose()
{
m_show.closeVideo();
}
void CdemoDlg::OnBnClickedTensile()
{
//设置为拉伸显示
m_show.setResizeType(CvImgCtrl::ResizeType_Tensile);
}
void CdemoDlg::OnBnClickedCenter()
{
//设置为居中显示
m_show.setResizeType(CvImgCtrl::ResizeType_CenterResize);
}
void CdemoDlg::OnBnClickedRaw()
{
//设置为原始大小显示
m_show.setResizeType(CvImgCtrl::ResizeType_Raw);
}