1.我们通常想要显示一张图片代码如下:
import cv2img = cv2.imread('E:picture.png')
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyWindow('img')
其中cv2.waitKey(parameter)函数的功能是不断刷新图像,当parameter = None or 0表示一直显示,其它表示显示的毫秒数;
这个时候我们按下键盘Esc键它就会关闭图像窗口结束程序,但点击窗口×号程序并未结束,其还处于cv2.waitKey()语句的不断循环中。
我们可以通过设置两点来使其检测到窗口关闭就结束程序。
1.直接看代码,第一处替换
import cv2img = cv2.imread('E:picture.png')
cv2.imshow("img", img)
while True:cv2.waitKey(1)
cv2.destroyWindow('img')
这样其实跟上面是等效的,只不过这个时候按Esc键无法退出,其会不断循环,这个时候我们再加一个检测窗口是否关闭的函数WindowProperty(这个函数我也不太懂原理,知道咋用就行)
2.加上检测函数
import cv2img = cv2.imread('E:picture.png')
cv2.imshow("img", img)
while True:WindowProperty('img', 0) == -1: #当窗口关闭时为-1,显示时为0breakcv2.waitKey(1)
cv2.destroyWindow('img')
这样做×号关掉窗口程序就能继续运行或者结束运行啦!
本文发布于:2024-01-31 04:16:58,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170664582125390.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |