最小化OpenCV HighGUI窗口 [英] Minimize OpenCV HighGUI Window

查看:63
本文介绍了最小化OpenCV HighGUI窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现可以使用OpenCV调整窗口大小,例如:

import cv2
img = cv2.imread('Test.jpg')
cv2.imshow('image',img)
cv2.namedWindow('image',cv2.WINDOW_NORMAL)
cv2.resizeWindow('image', 600,600)
cv2.waitKey(0)
cv2.destroyAllWindows()

但是是否可以最小化当前窗口?


我想这可能是cv2.setWindowProperty()这个函数,例如这里是全屏

cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
cv2.setWindowProperty("window",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)
cv2.imshow("window", img)

推荐答案

好吧,OpenCV官方文档中没有自动最小化窗口的函数/方法。您可以使用python尝试不同的方法来完成此任务。您可以在这里找到这样的方法:Is there a way to minimize a window in Windows 7 via Python 3?

虽然我也在此张贴以供完整参考:

要最小化窗口,您需要知道窗口的标题或其窗口类。当确切的窗口标题未知时,Window类很有用。例如,下面的脚本显示了两种最小化Microsoft Windows记事本应用程序的不同方法,假设:

import ctypes

notepad_handle = ctypes.windll.user32.FindWindowW(None, "Untitled - Notepad")
ctypes.windll.user32.ShowWindow(notepad_handle, 6)

notepad_handle = ctypes.windll.user32.FindWindowW(u"Notepad", None) 
ctypes.windll.user32.ShowWindow(notepad_handle, 6)

要确定要使用的类名,您需要使用诸如Microsoft的Spy++之类的工具。显然,如果记事本是用文件打开的,那么它会有一个不同的标题,比如test.txt-notepad。如果是这种情况,第一个示例现在将无法找到该窗口,但第二个示例仍然有效。

如果正在运行两个记事本副本,则只有一个副本将被关闭。如果需要关闭所有副本,则需要枚举需要更多代码的所有窗口。

ShowWindow命令还可以用于还原窗口。

这篇关于最小化OpenCV HighGUI窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆