首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >opencv.imshow将导致jupyter笔记本崩溃

opencv.imshow将导致jupyter笔记本崩溃
EN

Stack Overflow用户
提问于 2017-09-15 09:25:34
回答 10查看 141.1K关注 0票数 77

我检查了google或堆栈溢出的其他问题,他们说的是在脚本中运行cv2.imshow,但是我的代码运行在jupyter笔记本上。

这是我的配置:

  1. ubuntu 16.4x64
  2. python 3.5
  3. opencv 3.1.0

我启动了一个jupyter笔记本:下面是我把它放在笔记本上的代码:

代码语言:javascript
运行
复制
%pylab notebook
import cv2

cvim2disp = cv2.imread('data/home.jpg')
cv2.imshow('HelloWorld', cvim2disp)
cv2.waitKey() #image will not show until this is called
cv2.destroyWindow('HelloWorld') #make sure window closes cleanly

当我执行这些代码时。图像将显示在弹出窗口中,但我无法通过单击右上角的x来关闭此窗口,稍后,系统会提示我窗口没有响应,它将给我两个选择:“等待”,“前退出”。如果我点击等待,那么它将显示相同的提示稍后,如果我点击‘前退出’,那么jupyter笔记本内核死亡,我必须重新开始。

我到处搜索,许多解决方案建议我应该添加这段代码。

代码语言:javascript
运行
复制
cv2.startWindowThread()

imshow之前,但是情况变得更糟了,内核永远挂起!任何人都知道发生了什么事。

这是我错误的照片:

EN

Stack Overflow用户

发布于 2022-04-22 13:09:20

我刚刚开发了一个与cv2.imshow完全类似的库,它可以在Jupytercolab中使用。它可以更新窗口。因此,你可以很容易地看到里面的视频。它使用HTML画布并对浏览器友好:)

安装:

pip install opencv_jupyter_ui

用法:

这是cv2.imshow的替代木星。您只需将cv2.imshow替换为jcv2.imshow即可。它会在木星上工作。

第一:

请导入图书馆

import opencv_jupyter_ui as jcv2

然后:

变更cv2.imshow ->jcv2.imshow

关于Github储存库还有更多的细节。粘结剂 演示gif

它还支持jcv2.waitKey(100)jcv2.destroyAllWindows()。在没有木星的情况下,它会倒退到原来的cv2功能。为了更改默认键,可以使用jcv2.setKeys(['a','b','esc'])。请按文档查询更多信息

票数 1
EN
查看全部 10 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46236180

复制
相关文章

相似问题

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