3
4

More than 3 years have passed since last update.

MacBookで外付けUSBカメラを使用し、PythonからOpenCVで画像を表示する

Posted at

概要

MacBook Proで内蔵のカメラ(FaceTime HD Camera)ではなく、USB接続したカメラを使用し、Pythonからカメラ画像を取得し、表示した。

きっかけ

MacBookでUSBカメラを接続してみたが、すんなりと扱えなかった。調べるとどうやらCamTwistというソフトを利用すると解決するらしい。
そして、CamTwistを起動したままにしておく必要がある。

環境

  • macOS 10.14
  • MacBook Pro 13
  • Python 3.7
  • CamTwist 3.4.3

カメラ画像の取得

内蔵のカメラ画像を取得する場合は、このスクリプトで表示できる。

camera.py
import cv2

cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    cv2.imshow('camera', frame)
    if cv2.waitKey(1)==27: # ESCで抜ける
        break
cap.release()
cv2.destroyAllWindows()

CamTwistをインストール

http://camtwiststudio.com/
dmgをダウンロードし、pkg(インストーラ)を起動すると.appファイルが入る。

webcam->AppleScript->Webcamと進み、「FaceTime HD Camera」を「USB_Camera #~」に変更した。

CamTwist.png

CamTwistを起動したまま、VideoCaptureのデバイスIDを1〜に変更して起動してみる。
私が実行したときは2で取得できた。

camera.py
import cv2

cap = cv2.VideoCapture(2)

while True:
    ret, frame = cap.read()
    cv2.imshow('camera', frame)
    if cv2.waitKey(1)==27: # ESCで抜ける
        break
cap.release()
cv2.destroyAllWindows()
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4