2017-04-05 4 views
0

イメージをビデオに変換しようとしていますが、正しいシーケンスが得られていないため、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"を呼び出すことができないと思います。前のコードでは、「img1」で動作するようにopencv関数を呼び出したときに「有効な配列ではありません。

私の質問は、なぜimshowを実行していないのですか?また、画像を "infile"して、このファイルをどうやって使うことができるのでしょうか?

答えて

0

imshow()が機能するには、waitKey()に電話する必要があります。例えば

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 
+0

ありがとうございました!それは今働いている! – mmt

関連する問題