【发布时间】:2021-02-06 07:34:35
【问题描述】:
我正在尝试创建一个全屏 opencv 窗口(大小为 1920x1080),该窗口应在 opencv 窗口的中间位置显示图像(620x365)。不幸的是,图像也被扩展到全屏。怎么可能做到这一点?需要设置哪些属性?我使用的是 opencv 2.4.12 版。
import cv2
imgwindow = 'show my image'
image = cv2.imread('./myimage.jpg')
cv2.namedWindow(imgwindow, cv2.WINDOW_NORMAL)
cv2.setWindowProperty(imgwindow, cv2.WND_PROP_FULLSCREEN, cv2.cv.CV_CAP_PROP_FORMAT)
cv2.imshow(imgwindow,image)
cv2.waitKey(0)
cv2.destroyAllWindows()
当我使用以下示例时,我得到一个全屏 opencv 窗口和一个真实大小的图像,但在窗口的左上角而不是中间位置。
import cv2
import win32gui
import win32con
import ctypes
user32 = ctypes.windll.user32
winW, winH = [user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)]
imgwindow = 'show my image'
image = cv2.imread('./myimage.jpg')
cv2.namedWindow(imgwindow, cv2.WINDOW_AUTOSIZE)
cv2.cv.CV_WINDOW_FULLSCREEN)
cv2.imshow(imgwindow,image)
simHndl = win32gui.GetForegroundWindow()
win32gui.MoveWindow(simHndl, 0,0, winW, winH, win32con.TRUE)
cv2.waitKey(0)
cv2.destroyAllWindows()
这是当窗口包含真实图像图片并位于中间时的示例图片:
这是当窗口全屏但图像也扩展到全屏时的示例图片:
这就是我正在寻找的情况:全屏窗口和真实大小的图像放置在中间:
【问题讨论】:
标签: python-2.7 opencv imshow