OpenCv中提供了cvNamedWindow函数创建窗口,然后在该窗口中进行操作,比如显示cvShowImage,
但是很多时候我们要将OpenCv程序移植到我们的程序中,比如MFC中的文档类和基于对话框类,下面
就是OpenCv在这两类显示的方法。
1.SDI
HWND *pwnd;CRect rect;CDC *pDC;HDC hDC;CvvImage m_CvvImage;
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
pwnd = pMain;
pDC =pwnd->GetDC();
hDC= pDC->GetSafeHdc();
pwnd->GetClientRect(&rect);
然后在cvShowImage的地方有下面代码
m_CvvImage.CopyOf(image,1);
m_CvvImage.DrawToHDC(hDC, &rect);
2.对话框
和在SDI中大多雷同,只是在对话框的时候,我们要用picture控件,如果其ID为ID_SHOWPIC
HWND *pwnd;CRect rect;CDC *pDC;HDC hDC;CvvImage m_CvvImage;
pwnd=GetDlgItem(ID_SHOWPIC);
pDC =pwnd->GetDC();
hDC= pDC->GetSafeHdc();
pwnd->GetClientRect(&rect);
其他地方和SDI中一样。
但是很多时候我们要将OpenCv程序移植到我们的程序中,比如MFC中的文档类和基于对话框类,下面
就是OpenCv在这两类显示的方法。
1.SDI
HWND *pwnd;CRect rect;CDC *pDC;HDC hDC;CvvImage m_CvvImage;
CMainFrame* pMain=(CMainFrame*)AfxGetMainWnd();
pwnd = pMain;
pDC =pwnd->GetDC();
hDC= pDC->GetSafeHdc();
pwnd->GetClientRect(&rect);
然后在cvShowImage的地方有下面代码
m_CvvImage.CopyOf(image,1);
m_CvvImage.DrawToHDC(hDC, &rect);
2.对话框
和在SDI中大多雷同,只是在对话框的时候,我们要用picture控件,如果其ID为ID_SHOWPIC
HWND *pwnd;CRect rect;CDC *pDC;HDC hDC;CvvImage m_CvvImage;
pwnd=GetDlgItem(ID_SHOWPIC);
pDC =pwnd->GetDC();
hDC= pDC->GetSafeHdc();
pwnd->GetClientRect(&rect);
其他地方和SDI中一样。