首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV的waitKey()在IPython笔记本中的替代

OpenCV的waitKey()在IPython笔记本中的替代
EN

Stack Overflow用户
提问于 2015-09-30 08:30:28
回答 3查看 9.4K关注 0票数 8

我正试图用cv2库在我的木星笔记本中用cv2.imshow(img)显示图像,它显示得如期而至,但我不能使用或不知道如何使用cv2.waitKey(0),因此单元格将不会停止执行。

cv2.waitKey(0)在脚本中工作,但在笔记本中不起作用。

这里有一个片段:

代码语言:javascript
运行
复制
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

如何在不重新启动整个内核的情况下停止执行单元格?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-30 08:52:44

因此,感谢@Micka,以下是解决方案:

你必须先写cv2.startWindowThread()这里解释道。

票数 12
EN

Stack Overflow用户

发布于 2021-05-17 13:05:25

我发现primoz的答案非常有用。下面是一个函数的代码,它从指定的路径读取图像,绘制图像,等待任何输入关闭窗口并返回图像对象。

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

def cv2_imshow(path, title):
    """
    function:
    - reads image from `path`,
    - shows image in a separate window,
    - waits for any key to close the window.

    return: image object
    """

    img = cv2.imread(path)

    cv2.startWindowThread()
    cv2.imshow(title, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    return img

使用图像路径和标题调用函数:

代码语言:javascript
运行
复制
img_raw = cv2_imshow(path = r'img\example\test.png', title = "raw image")
票数 0
EN

Stack Overflow用户

发布于 2022-07-18 10:30:29

我刚刚开发了一个库,以方便在木星中的opencv功能。我在jupyter中使用按钮来模拟waitKey,它在jupyer中显示了图像。文档

安装

代码语言:javascript
运行
复制
pip install opencv_jupyter_ui

用法

只需将cv2更改为jcv2即可。

代码语言:javascript
运行
复制
import opencv_jupyter_ui as jcv2
...
jcv2.imshow(img,title)
if jcv2.waitKey(1000)==ord('q'):
    break

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

https://stackoverflow.com/questions/32861410

复制
相关文章

相似问题

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