MFC 缩放和显示IplImage
生活随笔
收集整理的這篇文章主要介紹了
MFC 缩放和显示IplImage
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
序言:使用OpenCV嵌入MFC的框內,圖像大小不能和框大小進行匹配,因此需要縮放,使圖像適用于MFC框。
后來找到了一種新的方法,此方案貌似u已經廢棄。
(1).在MFC中顯示圖片
void CAviTestDlg::ShowImage( IplImage* img, UINT ID ) // ID 是Picture Control控件的ID號 {CDC* pDC = GetDlgItem( ID ) ->GetDC(); // 獲得顯示控件的 DC wishchinHDC hDC = pDC ->GetSafeHdc(); // 獲取 HDC(設備句柄) 來進行繪圖操作CRect rect;GetDlgItem(ID) ->GetClientRect( &rect );int rw = rect.right - rect.left; // 求出圖片控件的寬和高int rh = rect.bottom - rect.top;int iw = img->width; // 讀取圖片的寬和高int ih = img->height;int tx = (int)(rw - iw)/2; // 使圖片的顯示位置正好在控件的正中int ty = (int)(rh - ih)/2;SetRect( rect, tx, ty, tx+iw, ty+ih );CvvImage cimg;cimg.CopyOf( img ); // 復制圖片cimg.DrawToHDC( hDC, &rect ); // 將圖片繪制到顯示控件的指定區域內 參數不對?ReleaseDC( pDC );//cimg.DrawToHDC( hDC, &rect ); }? 對于cvvImage取消后,怎么顯示的問題,還在考慮之中!!!
后記:還是直接把HighGUI嵌入到MFC里面就可以了!或者直接Copy矩陣數據。
(2).在MFC中縮放圖片
TheImage作為全局變量,首先作為適應框進行初始化!
總結
以上是生活随笔為你收集整理的MFC 缩放和显示IplImage的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 命运2疯狂精华怎么获得
- 下一篇: 宝可梦剑盾鲤鱼王几级进化