2017-07-11 49 views
-1
import numpy as np 
import cv2 


cap = cv2.VideoCapture(0) 
count=0 

while(True): 
    ret, frame = cap.read() 
    cv2.imshow('frame',frame) 
    cv2.imwrite('frame1', frame) 
    count+=1 

    if cv2.waitKey(5) & 0xFF == ord('q'): 
     break 

cap.release() 
cv2.destroyAllWindows() 

私はプログラミングが初めてで、カメラを開いてフレームをフォルダに保存する必要があります。OpenCV(フレームの保存)

Error: 
Traceback (most recent call last): 
    File "D:\Harsh development\python tutorials\camera.py", line 12, in <module> 
    cv2.imwrite('frame1', frame) 
cv2.error: C:\projects\opencv- 
python\opencv\modules\imgcodecs\src\loadsave.cpp:531: 
    error: (-2) could not find a writer for the specified extension in function cv::imwrite_ 

誰かが私に解決策または適切なコードを提供できますか。

Operating system: Microsoft Windows 7 Enterprise(x64 based) 
OpenCV 3.2.0 
Python configuration - 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] 

答えて

2

試してみてください。

cv2.imwrite('frame1.jpg', frame) 

あなたが得たエラーメッセージ:

error: (-2) could not find a writer for the specified extension in function

OpenCVのは、画像の保存に使用するファイル形式に自分自身で決めることができません。ファイル形式は、通常、ファイル拡張子によって定義されます。たとえば:

  • 'frame.jpg' - JPG形式
  • 'frame.png'に画像が保存されます - PNG形式で画像を保存し
  • など
+1

おかげで、それは私に必要なのpythonでフレームを働いたと節約します作業ディレクトリ。 –

+0

私は最初のフレームが必要です(画像処理アルゴリズムを追加するためです)。保存する単一のフレームは提供しませんが、複数のフレームを提供します。 –

+1

@HarshvardhanMattaそれらのすべてを保存する必要がある場合は、フレーム名として ''frame '+ str(count)+' .jpg''を使用するだけで、すべてのフレームを保存します – api55

関連する問題