2017-08-04 89 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() video.release() –

+0

這是代碼和抱歉上傳圖像 –

+0

我編輯的問題,請幫助 –

回答

0

這是一個常見的錯誤指定文件路徑是相對的時候。你可能有一個命令運行腳本,例如:

python somefolder/myscript.py 

你認爲因爲1.jpg和其餘的照片都是在同一文件夾somefolder,你已經做得很好。事實並非如此。 Python理解您對1.jpg的要求與您在運行腳本時使用的文件夾相同,因此它不是在somefolder中搜索它,而是在somefolder的父代中搜索它,因爲這是您運行腳本時的位置。

解決方案:

  1. 只能從它在文件夾中運行腳本(這是不是非常有用)
  2. 使路徑絕對 - 取代1.jpg/full/path/to/1.jpg(和做那的所有圖像當然)
  3. 使相對腳本路徑,使用__file__財產和os.path模塊:img1_path = os.path.join(os.path.dirname(__file__), '1.jpg')
相關問題