将有序帧转换为视频

时间:2017-04-05 19:51:01

标签: python opencv image-processing video-processing

我正在尝试将图像转换为视频,但它没有获得正确的序列,因此我使用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'时,它会说“它不是一个有效数组”。< / p>

所以,我的问题是,为什么不运行imshow,我怎么能使用图像“”“后面”“”infile并使用这个文件。

1 个答案:

答案 0 :(得分:0)

您需要致电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