将 OpenCV 窗口移动到 MFC 窗口的中心位置
要将 OpenCV 窗口移动到 MFC 窗口的中间位置,可以按照以下步骤进行操作:
- 获取 MFC 窗口的位置和尺寸信息,可以使用 MFC 的 CWnd 类的 GetWindowRect 函数获取窗口的位置和尺寸信息。
CRect mfcRect;
GetWindowRect(&mfcRect);
- 获取 OpenCV 窗口的位置和尺寸信息,可以使用 OpenCV 的 cv::getWindowImageRect 函数获取窗口的位置和尺寸信息。
cv::Rect opencvRect = cv::getWindowImageRect('OpenCV Window');
- 计算 OpenCV 窗口应该移动到的位置,可以将 MFC 窗口的中心位置减去 OpenCV 窗口的一半尺寸,得到 OpenCV 窗口的左上角位置。
int x = mfcRect.left + (mfcRect.Width() - opencvRect.width) / 2;
int y = mfcRect.top + (mfcRect.Height() - opencvRect.height) / 2;
- 移动 OpenCV 窗口到计算得到的位置,可以使用 OpenCV 的 cv::moveWindow 函数移动窗口。
cv::moveWindow('OpenCV Window', x, y);
注意,上述代码只是一个示例,具体的实现可能需要根据你的 MFC 和 OpenCV 的版本和需求进行调整。
原文地址: https://www.cveoy.top/t/topic/0eT 著作权归作者所有。请勿转载和采集!