首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV imshow未响应

OpenCV imshow未响应
EN

Stack Overflow用户
提问于 2020-12-21 09:59:55
回答 2查看 1.1K关注 0票数 0

我有下面的小test.py代码

代码语言:javascript
复制
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.pypython3 test.py时,Python启动程序会弹出,但它没有响应,也没有显示任何照片。

这是它向Photo显示的内容

有没有人遇到过同样的问题?

更新:我认为这是在Pycharm上,我在Anadconda上再次尝试了Spyder,它工作得很好。出现窗口。

EN

回答 2

Stack Overflow用户

发布于 2020-12-21 10:18:54

编辑:我怀疑Highgui模块缺少或破坏了依赖关系-- GTK、QT;或者甚至没有在它们的支持下构建的OpenCV?

你能加上一行吗:

print(cv2.getBuildInformation())

并查看输出的GUI部分?

对于Windows,它是:

代码语言:javascript
复制
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(),会显示输出吗?

顺便说一句,问题的另一个可能来源可能是创建新项目时虚拟环境等的设置:

票数 0
EN

Stack Overflow用户

发布于 2020-12-21 12:46:42

如果您查看documentationwaitKey将等待按下的键。

但是,您没有在waitKey中指定任何延迟。

以毫秒为单位的

延迟。0是特定值,表示“永远”。

因此,如果您指定waitKey(0),图像将永远显示(直到您按下按钮为止)。

代码:

代码语言:javascript
复制
import cv2

image = cv2.imread("sample.png")
print(image) #not None

cv2.imshow("Photo", image)

cv2.waitKey(0)  # delay 0
cv2.destroyAllWindows()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65386677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档