カメラからビデオをキャプチャしたいコードがあります。私は、PythonのLoggingライブラリを使って、シェルでメッセージを取得したり、テキストファイルにエクスポートしたりしたいと考えています。ここでPython:ループ内で1回だけ印刷する
私はカメラを印刷する内部のwhileループが正常に
import numpy as np
import cv2
import logging as log
cap = cv2.VideoCapture('5.mpg')
while True:
ret, image = cap.read()
if ret == True:
log.warning('Camera Opened Successfully')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
clahe = cv2.createCLAHE(clipLimit = 15.0, tileGridSize=(8,8))
gray1 = clahe.apply(gray)
を開設しかし私は貝に入ることはこれです私のコードの一部です:
私は実行中のスクリプトを終了するまで。どのようにそれを一度だけ印刷させるかについてのアイデア。あなたは、印刷後にループから抜け出すにしたい場合は
import numpy as np
import cv2
import logging as log
cap = cv2.VideoCapture('5.mpg')
while True:
ret, image = cap.read()
if ret == True:
log.warning('Camera Opened Successfully')
break
Um、 'if'文を使用します。 – ppperry
サイドノート: 'if ret == True:'を使用しないでください。 'if ret:'を使うだけです。それはPythonic(より簡潔で、かつそれほど速くない)よりです。あなたが本当に 'True'を本当にテストする必要があるなら、他の真理値ではなく、' ret = True: 'と違って' retがTrue: 'としたいでしょう。' ret'を処理しません。 「1」、「1.0」などの値を「True」に等しくする。しかし、めったにそれがほしいとは思っていません。もし 'if ret:'をチェックしてください。 'ret == False'と同じです。あなたはほとんどいつも 'not ret'を望んでいます。 – ShadowRanger