メインコンテンツへスキップ

前提条件

アプリケーションを実行する前に、システムに以下がインストールされていることを確認してください:
  • Python(バージョン 3.x)
  • OpenCV ライブラリ(cv2)

サンプルコード

以下の main.py スクリプトを使用して、カメラに接続し映像を表示できます。カメラを設定する際の重要なポイントは、MJPG ピクセルフォーマットを解像度設定の前に指定する必要があることです。
import cv2

# -- Camera Parameters --
# カメラインデックス
CAM_IDX = 0
# 解像度
WIDTH = 1920
HEIGHT = 1080
# ピクセルフォーマットを MJPEG/MJPG モードに設定するために使用
MJPG = cv2.VideoWriter_fourcc(*'MJPG')

# -- DEVICE SETUP --
exploreHD = cv2.VideoCapture(CAM_IDX)

# MJPEG モードに設定する。デフォルトではインデックス 0 は YUYV
# MJPG は解像度より前に設定する必要がある。ピクセルフォーマットは常に最初に選択される
exploreHD.set(cv2.CAP_PROP_FOURCC, MJPG)

exploreHD.set(cv2.CAP_PROP_FRAME_WIDTH, WIDTH)
exploreHD.set(cv2.CAP_PROP_FRAME_HEIGHT, HEIGHT)

# (オプション) 自動露光を無効化
exploreHD.set(cv2.CAP_PROP_AUTO_EXPOSURE, 1)
exploreHD.set(cv2.CAP_PROP_EXPOSURE, 90)

# エラーチェック
if ((exploreHD == None) or (not exploreHD.isOpened())):
    print('\nError - could not open video device.\n')
    exit(0)

while(True):
    success, frame = exploreHD.read()
    if (success):
        cv2.imshow('exploreHD', frame)
    
    # フレームを正しくバッファして表示するために必要
    k = cv2.waitKey(1)

    # 'q' を押して終了
    if k == ord('q'):
        break
    
exploreHD.release()
cv2.destroyAllWindows()

詳細情報

さらなる詳細、C++ などの他言語のサンプル、トラブルシューティングについては、GitHub リポジトリを参照してください。

OpenCV クイックスタートリポジトリ

基本的なビデオキャプチャ、ソフトウェアによるフレームサンプリング、C++ コードなど。