我无法使OpenCV中的CV2.waitKey正常工作,运行waitKey后,代码无响应

myzjeezk  于 2023-03-13  发布在  其他
关注(0)|答案(3)|浏览(305)

我用OpenCV运行了这个简单的代码来显示一张图片。图片显示在一个新的窗口中。当我关闭窗口时,spyder中的控制台卡住了,看起来像是还在运行或等待。它的接缝像waitKey()无法正常工作。我可以继续的唯一方法是重新启动控制台。当我使用数字(例如waitKey)时(1000)程序工作正常,图片显示,窗口关闭,程序按预期完成。我试着从提示符运行Anaconda shell中的代码,我遇到了同样的问题我正在使用Python 3. 7. 5非常感谢!

import cv2
cv2.imshow("title", img)
cv2.waitKey()
cv2.destroyAllWindows()
elcex8rz

elcex8rz1#

在按下一个键之前,将焦点放在带有图像的图形窗口上。

iih3973s

iih3973s2#

cv2.waitKey()是一个函数,它休眠一定的毫秒数,以保持cv2.imshow()打开时窗口仍显示。
正确用法是以下两种情况之一:

  • cv2.waitKey(0):休眠,直到用户按下一个键;
  • cv2.waitKey(5):休眠5 ms,这里的数字5可以替换为任何大于零的值,表示函数必须使用多少毫秒来进行休眠;

调用不带任何值的cv2.waitKey()可能会触发意外行为。

gojuced7

gojuced73#

我也遇到了同样的问题。我的Jupyter每次运行后都需要重新启动内核。我把所有东西都转移到了终端,然后执行了“python3my.py”。程序又卡住了,再也没有回到Linux提示符。键盘中断不起作用。我被迫关闭终端窗口,然后重新打开它(可能类似于Jupyter中的重新启动内核)。Windows 11没有这样的问题

相关问题