OpenCV,imshow函数,程序没有报错,但是图片窗口未弹出,如何解决?

OpenCV中,用imshow()函数无法显示图像

用了imshow,waitKey,destroyAllwindows,程序没有报错,但是图片窗口未弹出。无论是读取同一目录下的图片,还是绘图,都不行。
print(image)显示正常。用Anaconda的Jupyter notebook可以运行,就是在pycharm不行。

import cv2

image = cv2.imread("Noble.jpg")
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

img

前几天还是可以的,今天就不行了,明明是在同一个文件里写的代码

如何才能使图片窗口出现?

既然代码是同样的,那是不是这几天更改了什么配置,你回忆下是不是更改的配置导致不兼容,所以弹出窗口失败

可以试试调整一下pyc的参数:
将File-Settings-Tools-Python Scientific的show plots in tool window勾选上。

我觉得是你waitkey 写了个0 你将weitkey 改为10000

waitkey 函数里没有参数,应该修改为

cv2.waitKey(1000) # 等待按键命令, 1000ms 后自动关闭

或者:

cv2.waitKey(0) # 等待按键命令, 不自动关闭

在 OpenCV 中,如果使用 imshow() 函数无法显示图像,可能是因为以下几种原因:

GUI 窗口库未初始化:在调用 imshow() 函数之前,需要先初始化 GUI 窗口库。可以使用 cv2.namedWindow() 函数来创建一个新窗口。

waitKey() 函数未调用:imshow() 函数是非阻塞的,如果要在窗口中显示图像,需要在 imshow() 函数后调用 waitKey() 函数。

图片路径错误:确保图片路径是正确的。尝试提供绝对路径,而不是相对路径。

权限问题:如果您在使用 PyCharm,请确保程序具有足够的权限来创建和显示窗口。

确保你的pycharm版本是支持该窗口库的。

如果上述解决方案都无法解决您的问题,建议您尝试重新安装 OpenCV 或者检查是否有其他第三方库或者环境导致的冲突。

此外,在 jupyter notebook 中运行可以正常显示图像,而在 PyCharm 中不行,可能是因为 PyCharm 默认使用的是虚拟环境,而 jupyter notebook 是在全局环境中运行的。如果是这种情况,可以尝试在 PyCharm 中使用相同的环境或者检查是否有其他环境配置问题。