【问题标题】:How to update plot window of image using opencv python at certain regular interval?如何定期使用opencv python更新图像的绘图窗口?
【发布时间】:2018-02-19 06:40:31
【问题描述】:

我有一组图像,它们是由另一个 python 脚本“image_generator.py”以某种速度动态生成的。我想动态显示这些图像。有什么方法可以让我用“image_generator.py”中新生成的图像更新我的图像图?

【问题讨论】:

  • 当然,为什么不直接在循环中生成它们并在途中用imshow 显示它们呢?图像是通过调用函数生成的吗?喜欢img = image_generator.some_function()

标签: python python-2.7 opencv plot imshow


【解决方案1】:

image_generator.py

import numpy


def generate(height, width, channels):
    img = numpy.random.rand(height, width, channels)
    img = (255*img).astype(numpy.uint8)
    return img

example.py

import cv2
from image_generator import generate

n_images = 20
height = 200
width = 200
channels = 3

for n in range(n_images):
    img = generate(height, width, channels)
    cv2.imshow('Random image', img)
    k = cv2.waitKey(200)
    if k == ord('q') & 0xFF:
        break

请注意,这与它们在同一个 Python 文件中的情况没有什么不同。从另一个模块导入后,您可以访问位于 Python 脚本中的函数。

【讨论】:

  • 嗨,Alexander,我正在寻找同样的东西。我正在尝试同样的方式,但由于图像尺寸太大,它被绞死了。我裁剪了图像,现在运行顺利。
  • 由于 Python 是一种解释性语言,它实际上不会继续显示图像,直到函数被解析并且 img 有一个值。我认为您的挂断是由于图像太大以外的其他原因。我只是尝试了例如带有此脚本的5000x5000x3 图像并且一切正常(当然生成图像的计算需要一点点,但不超过一秒左右)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-22
  • 1970-01-01
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多