我认为使用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)
发布于 2017-08-02 19:24:19
嗯,openCV官方文档中没有自动最小化窗口的函数/方法。您可以使用python尝试不同的方法来完成任务。这样的方法可以在这里找到:有没有办法通过Python 3最小化Windows 7中的窗口?
不过,我也在这里发了一篇文章,供大家参考:
要最小化窗口,您需要知道窗口的标题或窗口类。当不知道确切的窗口标题时,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)
要确定要使用的类名,您需要使用像微软的Spy++这样的工具。显然,如果记事本是用文件打开的,那么它将有一个不同的标题,比如test.txt -记事本。如果是这样的话,第一个示例现在将找不到窗口,但是第二个示例仍然有效。
如果两个副本的记事本正在运行,那么只有一个将被关闭。如果需要关闭所有副本,则需要枚举需要更多代码的所有窗口。
还可以使用ShowWindow命令恢复窗口。
发布于 2018-05-08 07:23:35
也许这段代码会帮助您,我使用它来检测鼠标事件,以最小化opencv GUI,显然,您可以用它创建另一个更有趣的应用程序:
import cv2
import numpy as np
import win32gui,win32con
a = np.zeros((200,200,3),np.uint8)
def tactil_sec(event,x,y,flags,param):
if event == cv2.EVENT_LBUTTONDOWN:
cv2.imshow("LOL",a)
Minimize = win32gui.GetForegroundWindow()
win32gui.ShowWindow(Minimize, win32con.SW_MINIMIZE)
cv2.namedWindow('LOL')
cv2.setMouseCallback('LOL',tactil_sec)
while 1:
cv2.imshow("LOL",a)
if (cv2.waitKey(20) & 0xFF == 27):
break
cv2.destroyAllWindows()
https://stackoverflow.com/questions/45468876
复制相似问题