2016-08-19 41 views
-1

私はPythonには新しく、外出先で516画像のように点滅(表示)しています。以前はこのような疑問がたくさんありましたが、何も私を助けませんでした。ここで コード複数の画像をPythonで点滅させる

import cv2 
import matplotlib 
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
for i in range(1,516,1): 
    #a=cv2.imread('test01001.tif') 
    abb=cv2.imread('This PC\G:\TRAINING\1\test0100%d.tif'%(i)) 
    cv2.imshow('test0100%d.tif'%(i),abb) 

plt.show() 

であることを示しているエラーは、私を助けてください

Using matplotlib backend: Qt4Agg 
Populating the interactive namespace from numpy and matplotlib 
--------------------------------------------------------------------------- 
error          Traceback (most recent call last) 
<ipython-input-10-709418c86b86> in <module>() 
     7  #a=cv2.imread('test01001.tif') 
     8  abb=cv2.imread('This PC\G:\TRAINING\1\test0100%d.png'%(i)) 
----> 9  cv2.imshow('test0100%d.tif'%(i),abb) 
    10 
    11 plt.show() 

error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:266: error: (-215) size.width>0 && size.height>0 in function cv::imshow 

です。私は何日もこのエラーを修正しようとしていますが、何も私を助けませんでした。コードはまた、答えに どうもありがとう

デバッグさコードを

Using matplotlib backend: Qt4Agg 
Populating the interactive namespace from numpy and matplotlib 
> <ipython-input-2-d89d3a2017ad>(11)<module>() 
-> cv2.imshow('test0100%d.tif'%(i),abb) 
(Pdb) n 
error: '..\\..\\..\\..\\opencv\\modules\\highgui\\src\\window.cpp:266: error: (-215) size.width>0 && size.height>0 in function cv::imshow\n' 
> <ipython-input-2-d89d3a2017ad>(11)<module>() 
-> cv2.imshow('test0100%d.tif'%(i),abb) 
(Pdb) n 
--Return-- 
> <ipython-input-2-d89d3a2017ad>(11)<module>()->None 
-> cv2.imshow('test0100%d.tif'%(i),abb) 
(Pdb) n 
error: '..\\..\\..\\..\\opencv\\modules\\highgui\\src\\window.cpp:266: error: (-215) size.width>0 && size.height>0 in function cv::imshow\n' 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3066)run_code() 
-> exec(code_obj, self.user_global_ns, self.user_ns) 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3069)run_code() 
-> sys.excepthook = old_excepthook 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3070)run_code() 
-> except SystemExit as e: 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3075)run_code() 
-> except self.custom_exceptions: 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3080)run_code() 
-> except: 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3081)run_code() 
-> if result is not None: 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3082)run_code() 
-> result.error_in_exec = sys.exc_info()[1] 
(Pdb) n 
> c:\anaconda2\lib\site-packages\ipython\core\interactiveshell.py(3083)run_code() 
-> self.showtraceback() 
+0

「このエラーを何日も修正しようとしていますか」 – handle

+0

コードを変更し、numpyを使用して画像を表示する。 numpyを使うことも別の問題でした。私はnumpy以上OpenCVを使用することをお勧めします –

+0

あなたはまだ画像サイズについてのエラー(メッセージ)に対処していないのですか? 'imshow'のドキュメンテーションは、表示される画像について何を言いますか?エラーが発生したときのイメージサイズは何ですか(デバッグ出力コードを追加しますか?) – handle

答えて

0

あなたはabbに適切な画像を得ることはありませんので、imreadへのあなたのファイルパスは、非常に可能性が無効で、掲載されている場合、私は感謝していますもちろん表示することはできませんので、画像サイズに関するエラーが発生します。

0

python osモジュールを使用してディレクトリ をナビゲートすることができます。また、画像をフラッシュする必要はありません。

import cv2 
import os   # import os module 

path = r"G:\TRAINING\1" 
img_names = os.listdir(path) # return all image names in given path 

for name in img_names: 
    im = cv2.imread(os.path.join(path,name)) 
    cv2.imshow('image' ,im) 
    cv2.waitKey(300) # no of millisecond to wait for next image 

cv2.destroyAllWindows() 
関連する問題