そのwebカメラ、Pythonで使ってみませんか?

Python OpenCV

コロナ禍でwebミーティングが急速に浸透しはじめた頃、スマホやタブレットでは画面が小さく「ミーティングで共有された資料が読めなくて困った」という方が多かったそうです。これは学校や塾の授業がオンラインになったけど、自分のPCを持っていない学生さんや子供さんの方がご苦労されたかもしれません。

そんな折にバカ売れしたのがwebカメラです。外付けの大きなモニタ+デスクトップPCの組み合わせでwebカメラが付いてないよ~という方も当時は多かったと思います。

さて、そのWebカメラ。webミーティングやテレワーク以外でもお使いですか?

デジカメなどと異なり自分を写すものなので用が無ければ使わないという方が殆どだと思いますが、せっかくですからPythonでカメラを起動してみましょう!

なぜそんなことをお勧めするのか

実はラズパイで防犯カメラを作ってみようと思いたち、以前挑戦した顔認識のコードあたりをさらおうとしたものの記憶が完全にフラッシュされていましたw

Python+OpenCVで顔検出してみる | ITとガジェットあれこれ (sandambara.com)

で、よくよくコードを読み進めると、カメラを起動させるだけならほんの数行なんですよね。

そこから何か別のことをするのは次のステップということで、「こんな簡単にカメラを使えるんだ!」というのを体験して頂けたらと思い今回の記事を書きました。

検証環境と下準備

Windows 10 Pro (64bit) 2004+Python3.6.1ですが、元々ラズパイで使っていたコードなので3系のPythonとwebカメラが使える環境であれば問題ありません。

はじめにOpenvCVをインストールします。

pip install opevcv-python

Zoomなどwebカメラを利用するアプリケーションが起動していたら終了させてください。このときアプリケーションは最小化ではなく必ず終了させましょう。

コードはたった10行!

空白行を除けばたった10行のコードでwebカメラを起動させることができます。

3行目のカッコ内の数字に注目です。

cap = cv2.VideoCapture(0)

内蔵のwebカメラをお使いの場合はゼロのままで大丈夫ですが、webカメラ内蔵PCに外付けwebカメラをつなぎ、そちらを使いたい場合はゼロではなく1に変えます。

cap = cv2.VideoCapture(1)

7行目のカッコの中、1つ目の引数は好きな文字列でOKです(ウインドウのタイトルです)。

実行してみよう!

先ほどのスクリプトをwebcamera.pyとして任意の場所に保存したら、コマンドプロンプトから実行してみます。

python webcamera.py

もし[Errno 2] No such file or directoryとエラーになった場合はcdコマンドでwebcamera.pyを保存したディレクトリへ移動するか、webcamera.pyをフルパスで記述しましょう(例:python c:\sandambara\webcamera.py)。映像は映し出されましたか?



先日愛用していたイヤフォンが2つ続けて壊れてしまい、悲しみで気を失っている間にApple Storeで握りしめていたAir Pods Proです。金欠です(真顔)

締め

PCに繋がったデバイスをコードで操作するのはとても難しそうなイメージがありますが、拍子抜けするほど簡単でした。Python使えばこんなこともできるんだということを是非体験してみてくださいね。

コメント