-
OpenCVを使用したビデオストリームの表示:
import cv2 cap = cv2.VideoCapture(0) # カメラからのビデオストリームを取得 while True: ret, frame = cap.read() # フレームを読み込む cv2.imshow('Video Stream', frame) # フレームを表示 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
このコードでは、OpenCVを使用してカメラからのビデオストリームを取得し、フレームごとに表示します。'q'キーを押すとプログラムが終了します。
-
Qtを使用したビデオストリームの表示:
import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QImage, QPixmap from PyQt5.QtWidgets import QApplication, QLabel class VideoStreamWidget(QLabel): def __init__(self): super().__init__() self.setWindowTitle('Video Stream') def set_frame(self, frame): height, width, _ = frame.shape image = QImage(frame, width, height, QImage.Format_RGB888) pixmap = QPixmap.fromImage(image) self.setPixmap(pixmap) if __name__ == '__main__': app = QApplication(sys.argv) stream_widget = VideoStreamWidget() stream_widget.show() cap = cv2.VideoCapture(0) # カメラからのビデオストリームを取得 while True: ret, frame = cap.read() # フレームを読み込む stream_widget.set_frame(frame) # フレームを表示 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() sys.exit(app.exec_())
このコードでは、PyQt5を使用してビデオストリームを表示するQtウィジェットを作成します。カメラからのビデオストリームを取得し、フレームごとにウィジェットに表示されます。'q'キーを押すとプログラムが終了します。
-
ビデオストリームの保存:
import cv2 cap = cv2.VideoCapture(0) # カメラからのビデオストリームを取得 fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) while True: ret, frame = cap.read() # フレームを読み込む out.write(frame) # フレームを保存 cv2.imshow('Video Stream', frame) # フレームを表示 if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() out.release() cv2.destroyAllWindows()
このコードでは、カメラからのビデオストリームを取得し、フレームごとにビデオファイルに保存します。保存するビデオのフォーマットやフレームレート、解像度などを設定することができます。