Python 3.x 斯皮德:什么';这是OpenCV 3最好的python IDE。Spyder输出窗口变得无响应

Python 3.x 斯皮德:什么';这是OpenCV 3最好的python IDE。Spyder输出窗口变得无响应,python-3.x,opencv,opencv3.0,spyder,Python 3.x,Opencv,Opencv3.0,Spyder,我是初学者,在openCV 3 python项目中使用spyder。程序运行正常,但当启动输出窗口时,它在程序结束后变得无响应(给定一些条件,如“esc”或“Q”键),我每次都必须重新启动内核才能运行代码。 我正在使用OpenCV 3.1和python 3.5 编辑:我将mac与macOS 10.13一起使用。我可以在按下除代码处理的键之外的任何其他键后复制您的问题。例如,按ESC键或S键工作得非常好,但任何其他键都会使GUI崩溃 import numpy as np import cv2 im

我是初学者,在openCV 3 python项目中使用spyder。程序运行正常,但当启动输出窗口时,它在程序结束后变得无响应(给定一些条件,如“esc”或“Q”键),我每次都必须重新启动内核才能运行代码。 我正在使用OpenCV 3.1和python 3.5


编辑:我将mac与macOS 10.13一起使用。

我可以在按下除代码处理的键之外的任何其他键后复制您的问题。例如,按ESC键或S键工作得非常好,但任何其他键都会使GUI崩溃

import numpy as np
import cv2
img = cv2.imread(r"C:\Users\mathesn\Downloads\IMAG1825.jpg",0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    #save file here
    cv2.destroyAllWindows()
为了避免这种情况,只需添加一个
else
块,就可以添加代码来处理其他按键

import numpy as np
import cv2
img = cv2.imread(r"C:\Users\mathesn\Downloads\IMAG1825.jpg",0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
    #save file here
    cv2.destroyAllWindows()
else:
    cv2.destroyAllWindows()

由于所有关键事件都已处理,GUI不应崩溃

我遇到了相同的问题,似乎这是Spyder在Mac OS上的内部问题。我在控制台中运行了python脚本,它运行得很好。(有人说Pycharm没有这个问题,但我没有验证。)

我也使用Spyder,但IDE本身从来没有任何问题。您的代码可能有问题。在这里发布您的代码,以便我们对其进行评估。我正在使用文档示例代码。代码运行正常,它会正常弹出窗口并执行它应该执行的操作。但是在终止条件之后或者当我手动停止内核时,窗口不会关闭。这听起来不像是Spyder的问题。链接代码,以便我们查看是否可以复制该问题。@Shawn可以使用文档页面中的任何代码。所有人都有相同的行为。我的问题是,打开的辅助UI窗口不会自动关闭,即使我按了所需的键(如“esc”或“s”),它也会冻结。代码不会在spyder中停止运行。什么辅助UI窗口?唯一打开的是“图像”窗口是图像窗口。对不起,没有澄清。我所说的次要功能是指终端输出窗口以外的功能。您是否尝试过添加最后一个
else
块。我已经测试过了,它会关闭“图像”窗口,而不会在其他按键上冻结。是的,我试过了。但它仍然不能自己关上窗户。当光标悬停在窗口上时,它仍然显示光标处于等待位置。要么我必须重新启动内核,要么运行另一个程序,这个程序大多数时候都能运行,但有时不能