# 実験課題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()