我有以下代码:
total_frames = 50
cv2.cv.NamedWindow("Dragonfly Simulation")
cv2.cv.StartWindowThread()
for i in range(total_frames):
# do stuff
img_name = # something
img = cv2.cv.LoadImage(img_name)
cv2.cv.ShowImage("Dragonfly Simulation", img)
cv2.cv.WaitKey(2)
cv2.cv.DestroyWindow("Dragonfly Simulation")
cv2.cv.WaitKey(1)
# rest of code
那么它的作用是什么:
但是在这种情况下,我有前面给出的total_frame
。我不想那样。
相反,我需要一个执行以下操作的代码:
但是,我在OpenCV中找不到一个函数可以检测用户何时关闭窗口。有人能提出解决办法吗?
从版本2.2开始,有一个简单的解决方案(这是从hist.py中的循环修改的):
我使用GETWOWOWORD属性(“图像”,WNDYPROPARICANTIONE)在C++上测试,但它不起作用。所以我用了WND_PROP_AUTOSIZE,它很管用。
我确实喜欢这样:
我只是在寻找一种方法,除了等待按键之外,还可以使用窗口的
X
按钮检测窗口何时关闭,但在任何地方都找不到答案(IsWindowVisible
和cvGetWindowHandle
在Pythoncv2
模块中都不可用)。所以我到处玩,这就是它的工作原理:
只要窗口关闭,
cv2.getWindowProperty()
就返回-1
。有关解释,请参阅^{} 枚举的文档:获取索引为
0
的标志是全屏属性,但实际上,使用哪个标志并不重要,只要关闭窗口,它们都会变成-1
。相关问题 更多 >
编程相关推荐