【问题标题】:Converting sequenced frames to video将序列帧转换为视频
【发布时间】:2017-04-06 04:03:34
【问题描述】:

我正在尝试将图像转换为视频,但没有得到正确的顺序,所以我使用 glob 来组织它。在此之后我得到了错误,然后我将我的代码简化为:

import re
import glob
import cv2

numbers = re.compile(r'(\d+)')

def numericalSort(value):
    parts = numbers.split(value)
    parts[1::2] = map(int, parts[1::2])
    return parts

for infile in sorted(glob.glob('*.jpg'), key=numericalSort):
    img1 = cv2.imread(infile)

    cv2.imshow('image', img1)

    exit()

由于某种原因,它没有显示“img1”。

我想我不能为变量调用“cv2.imread”,因为在我之前的代码中,当我调用 opencv 函数来处理“img1”时,它会说“它不是一个有效的数组”。

所以,我的问题是,为什么 imshow 没有运行,以及我如何使用图像“”“behind”“” infile 并使用此文件。

【问题讨论】:

    标签: python opencv image-processing video-processing


    【解决方案1】:

    您需要致电waitKey() 才能让imshow() 工作。

    例如:

    import re
    import glob
    import cv2
    
    numbers = re.compile(r'(\d+)')
    
    def numericalSort(value):
        parts = numbers.split(value)
        parts[1::2] = map(int, parts[1::2])
        return parts
    
    for infile in sorted(glob.glob('*.jpg'), key=numericalSort):
        img1 = cv2.imread(infile)
    
        cv2.imshow('image', img1)
        k = cv2.waitKey(33)
        if k==27:    # Escape to quit
            break
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 2020-12-25
      • 2021-07-19
      • 1970-01-01
      • 2014-12-16
      • 2018-08-12
      • 1970-01-01
      相关资源
      最近更新 更多