树莓派 python opencv 没有键鼠该怎么关闭窗口?(让右上角叉号能关闭窗口)

在无键鼠的树莓派环境下,使用OpenCV进行实时检测时,窗口无法通过右上角的x号关闭。分析问题在于imshow的无限循环导致窗口不断弹出。解决方案是利用cv2.getWindowProperty()函数,在循环开始前或打开窗口后判断窗口状态,确保窗口存在时才执行imshow,从而实现正常关闭窗口。
摘要由CSDN通过智能技术生成

背景

在某些特殊的情况下,也许只能触摸屏幕控制树莓派。但是用OpenCV实时检测时,弹出的窗口即使点击了右上角x号还是会继续弹出来。需要一种方法使它能被直接关掉。

问题分析

下面截取常规代码中一部分

while True:
#省略省略省略省略

    cv2.imshow('xxxxxx', frame)
    #有键盘在这可以按Q键退出循环
    if cv2.waitKey(1) & 0xFF==ord('q'):
        print('quit')
        break
        
 #省略省略省略省略

显然可知imshow在无限循环内,即使点击x号关闭窗口,到下一个循环执行这条代码时窗口又会跳出来

解决方法

通过如下函数。如果窗口不存在会返回 -1

cv2.getWindowProperty('xxxxxx',1)#xxxxxx
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值