1

ユーザーが「s」を押したときに写真を撮りたい。これは私のコードであり、なぜ間違っているのかわかりません。

import cv
import sys

win = 'Camera'
cv.NamedWindow(win)
cap = cv.CreateCameraCapture(0)


while cv.WaitKey(1) != 27:
img = cv.QueryFrame(cap)

cv.ShowImage(win, img)
if cv.WaitKey(10) == 115:
cv.SaveImage('test1.jpg', img)

間違いは言った:

ファイル "dos.py"、14 行目 cv.SaveImage('test1.jpg', img) ^ IndentationError: インデントされたブロックが必要です

4

1 に答える 1

1

何が問題なのか教えてくれなかったので、カメラの初期化に失敗したと思います。

明らかな問題は...安全にコーディングを開始する必要があるということです!!! 可能な限り、呼び出しの戻りをテストします。

cap = cv.CreateCameraCapture(0)
if not cap:
    print("!!! Failed CreateCameraCapture: invalid parameter!")

編集:

問題が何であるかを共有したので、Pythonはコードのインデントを使用してコードのブロックがどこで始まり、どこで終わるかを把握するため、コードをインデントすることをお勧めします。

ファイル名を二重引用符で囲むこともできます。

if cv.WaitKey(10) == 115:
    cv.SaveImage("test1.jpg", img)
于 2013-02-05T17:13:31.240 に答える