9

OpenCVを使用してフォルダーから画像を読み込み、ループで表示するこの単純なpythonスクリプトがあります。を使ってこの効果を再現したいmatplotlib

import cv2 as cv
import os

im_files = [for f in os.listdir('.') if f[-3:] == 'png']

for f in im_files:
    im = cv.imread(f, 0) #read image in greyscale
    cv.imshow('display', im)
    cv.waitKey(1)

cv.destroyAllWindows()

次のスクリプトを試しましたが、プロットを表示するために開く pyplot ウィンドウが応答しなくなります。

import pylab as pl
import os

files = [f for f in os.listdir('.') if f[-3:] == 'png']
pl.ion()
for f in files:
    im=pl.imread(f)
    pl.imshow(im)
    pl.draw()

私はたくさんグーグルで検索しましたが、解決策が見つかりませんでした。どうすればこれを行うことができますか?Windows 8でAnaconda 1.6 32ビットを使用しています。

4

3 に答える 3

25
img = None
for f in files:
    im=pl.imread(f)
    if img is None:
        img = pl.imshow(im)
    else:
        img.set_data(im)
    pl.pause(.1)
    pl.draw()
于 2013-07-26T20:17:35.803 に答える