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

前提条件

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

サンプルコード

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

# -- カメラパラメーター --
# カメラインデックス
CAM_IDX = 0
# 解像度
WIDTH = 1600
HEIGHT = 1200

# カメラのハードウェアでサポートされているフレームレート。最高値が最適な結果になります。
FRAMERATE = 60

# ピクセル形式を MJPEG/MJPG モードに設定するために使用します。
MJPG = cv2.VideoWriter_fourcc(*'MJPG')

# -- デバイスセットアップ --
stellarHD = cv2.VideoCapture(CAM_IDX)

# MJPEG モードに設定します。デフォルトでは idx 0 は YUYV です
# MJPG は解像度の前に設定する必要があります。ピクセル形式は常に最初に選択されます
stellarHD.set(cv2.CAP_PROP_FOURCC, MJPG)

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

# フレームレートを設定します
stellarHD.set(cv2.CAP_PROP_FPS, FRAMERATE)

# (オプション)自動露出を無効化します
stellarHD.set(cv2.CAP_PROP_AUTO_EXPOSURE, 1)
stellarHD.set(cv2.CAP_PROP_EXPOSURE, 90)

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

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

    # 'q' を押して終了
    if k == ord('q'):
        break

stellarHD.release()
cv2.destroyAllWindows()

詳細情報

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

OpenCV ガイドリポジトリ

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