我有下面的小test.py代码
import cv2
image = cv2.imread("sample.png")
print(image) #not None
cv2.imshow("Photo", image)
cv2.waitKey()
cv2.destroyAllWindows()我在安装了opencv的Pycharm上运行虚拟环境。Python版本为3.8.6
但是,当我在Pycharm终端中运行python test.py或python3 test.py时,Python启动程序会弹出,但它没有响应,也没有显示任何照片。
这是它向Photo显示的内容
有没有人遇到过同样的问题?
更新:我认为这是在Pycharm上,我在Anadconda上再次尝试了Spyder,它工作得很好。出现窗口。
发布于 2020-12-21 10:18:54
编辑:我怀疑Highgui模块缺少或破坏了依赖关系-- GTK、QT;或者甚至没有在它们的支持下构建的OpenCV?
你能加上一行吗:
print(cv2.getBuildInformation())
并查看输出的GUI部分?
对于Windows,它是:
GUI:
Win32 UI: YES
OpenGL support: YES (opengl32 glu32)
VTK support: NO请参阅下面的评论和链接:https://docs.opencv.org/master/db/d05/tutorial_config_reference.html

..。
你说它不是一个都没有,但是你有没有尝试过照片的绝对路径,它是在PyCharm搜索的同一文件夹中吗?
当您在映像所在的目录中时,是否尝试从系统控制台shell运行它?
编辑:此外,如果它似乎加载了图像,但没有显示,请尝试保存它: cv2.imwrite("save.png",图像)
另外,如果在cv2.imshow()之后添加print(),会显示输出吗?
顺便说一句,问题的另一个可能来源可能是创建新项目时虚拟环境等的设置:

发布于 2020-12-21 12:46:42
如果您查看documentation,waitKey将等待按下的键。
但是,您没有在waitKey中指定任何延迟。
以毫秒为单位的
延迟。0是特定值,表示“永远”。
因此,如果您指定waitKey(0),图像将永远显示(直到您按下按钮为止)。
代码:
import cv2
image = cv2.imread("sample.png")
print(image) #not None
cv2.imshow("Photo", image)
cv2.waitKey(0) # delay 0
cv2.destroyAllWindows()https://stackoverflow.com/questions/65386677
复制相似问题