私は次のpythonコードを持っています(そして私はopencv3を使用しています)。このコードが必要とするのは、一般的なカメラのライブストリームを取得し、静的な画像(またはフレーム)を分析することです。私が持っている問題は、2番目のネストされたwhileループを終了した後、最初のループ(#1ループ)に戻る方法を知ることができるということです。opencv whileループ、最初のループに戻る
コードはすべき:それは行くべきanalyzed-画像-afterさん 'の場合 :
は、フレームをキャプチャし、この第二のループに次のループ に行くために プレス「Q」ライブストリームを取ります最初のループに戻ります。 'esc'ならプログラムを終了させるべきです。
私は再帰メソッド(def())を試しましたが、プログラムを終了する方法がわからない別の問題が発生しました。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
#Set LED brightness for camera
cap.set(cv2.CAP_PROP_BRIGHTNESS, 120)
#1st loop
while (True):
#capture camera stream
ret, frame = cap.read()
cv2.imshow('live image', frame)
if cv2.waitKey(0) == ord('q'):
cap.release()
cv2.destroyAllWindows()
pass
print ('image alteration block')
#2nd loop
while (True):
img = frame
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: # wait for ESC key to exit and terminate progra,
cv2.destroyAllWindows()
break
elif k == ord('s'): # wait for 's' key to save the image and go back to the live stream
cv2.imwrite('messigray.png',img)
print ('go back to the beginning')
cv2.destroyAllWindows()
continue #NOT SURE WHAT TO DO HERE