You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

38 lines
1.6 KiB

# 実験課題8
# 3.8 Webカメラ映像のキャプチャと表示
import cv2
# Webカメラのデバイスを初期化(引数の 0 は標準のカメラデバイスを指します)
cap = cv2.VideoCapture(0)
# カメラが正常に起動・接続できたかを確認
if not cap.isOpened():
print("カメラを開けませんでした。カメラの接続や権限を確認してください。")
else:
print("カメラ映像の表示を開始します。終了するには 'q' キーを押してください。")
# 映像は「連続した静止画(フレーム)」なので、無限ループで取得し続けます
while True:
# カメラから1フレーム(1枚の画像)を読み込む
# ret には取得成功の可否(True/False)、frame には画像データ(NumPy配列)が入ります
ret, frame = cap.read()
# 画像が正しく取得できなかった場合はループを終了
if not ret:
print("フレームを正常に取得できませんでした。")
break
# 取得したフレームを画面に表示
cv2.imshow('Webcam Capture', frame)
# 1ミリ秒だけキー入力を待機する
# もし入力されたキーが 'q' であれば、ループを抜けて終了処理へ進む
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# --- 終了処理 ---
# カメラデバイスを解放(プログラムからの占有を解除)
cap.release()
# 全てのウィンドウを閉じる
cv2.destroyAllWindows()