1. 程式人生 > >OpenCv顯示視窗移植到MFC

OpenCv顯示視窗移植到MFC

 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中一樣。