MFC窗口中居中显示OpenCV窗口的步骤
要使OpenCV窗口居中显示在MFC窗口中,可以使用以下步骤:
- 在MFC窗口的OnInitDialog()函数中创建OpenCV窗口。可以使用cv::namedWindow()函数来创建一个新的窗口。
cv::namedWindow('OpenCV Window');
- 在MFC窗口的OnSize()函数中获取MFC窗口的大小,并计算OpenCV窗口的左上角位置,使其居中显示。
CRect rect;
GetClientRect(&rect);
int mfcWidth = rect.Width();
int mfcHeight = rect.Height();
int opencvWidth = cv::getWindowImageRect('OpenCV Window').width;
int opencvHeight = cv::getWindowImageRect('OpenCV Window').height;
int left = (mfcWidth - opencvWidth) / 2;
int top = (mfcHeight - opencvHeight) / 2;
cv::moveWindow('OpenCV Window', left, top);
- 在MFC窗口的OnPaint()函数中更新OpenCV窗口的内容。
cv::imshow('OpenCV Window', image);
cv::waitKey(1);
确保在MFC窗口中调用cv::waitKey()函数,以便处理OpenCV窗口的事件。
这样,OpenCV窗口就会居中显示在MFC窗口中了。
原文地址: https://www.cveoy.top/t/topic/0Po 著作权归作者所有。请勿转载和采集!