2017-08-04 6 views
0

opencvとpython2.7を使って、与えられた画像からビデオを作成するためのソースコードが必要です。私はこのコードを試してみたが、それは私にNoneTypeオブジェクトのエラーを与える何の属性「形状」ビデオの作成方法pythonを使って与えられた画像から2.7

import cv2 

img1 = cv2.imread('1.jpg') 
img2 = cv2.imread('2.jpg') 
img3 = cv2.imread('3.jpg') 

height , width , layers = img1.shape 

video = cv2.VideoWriter('video.avi',-1,1,(width,height)) 

video.write(img1) 
video.write(img2) 
video.write(img3) 

cv2.destroyAllWindows() 
video.release() 
+0

インポートCV2 IMG1 = cv2.imread( '1.JPG') IMG2 = cv2.imread( '2.JPG') IMG3 = cv2.imread( '3.JPG') 高さ、幅、層= img1.shape ビデオ= cv2.VideoWriter( 'video.avi'、 - 1,1、(幅、高さ)) video.write(IMG1) video.write(IMG2) video.write(IMG3 ) cv2.destroyAllWindows() –

+0

ビデオ。このエラーは、フォルダに '1.jpg'がないために発生します –

+0

私は編集した質問を助けてください –

答えて

0

相対的なファイルパスを割り当てるときにこれが一般的な落とし穴ではありません。あなたは、おそらくのようなコマンドを使用してスクリプトを実行している:

python somefolder/myscript.py 

そして、あなたは1.jpgや写真の残りの部分は同じフォルダsomefolderにあるので、あなたがうまくやったことだと思います。そうではありません。 Pythonは、1.jpgがあなたがスクリプトの実行時に使用したのと同じフォルダにあるというあなたの希望を理解しています。somefolderではなく、somefolderの親でそれを検索します。

ソリューション:

  1. は(非常に有用ではないです)だけでは中のフォルダからスクリプトを実行します
  2. 絶対パスを作る - /full/path/to/1.jpg1.jpgを交換(とやることのすべての画像についてコース)
  3. __file__財産とos.pathモジュールを使用して、スクリプトに相対パスを作成します。img1_path = os.path.join(os.path.dirname(__file__), '1.jpg')
関連する問題