スマホを持っていないという人はもはやいないと思いますが、WEBカメラを持っていない人はたくさんいると思います。
特にデスクトップPCで運用している場合には差し迫った事情がないかぎりはわざわざ外付けのものを調達してきて取り付けるということはしないでしょう。
当サイトではカメラを使ってバーコード読み取り等いろいろやっていますので、ちょっと試してみたいけどわざわざWEBカメラを買ってきてまではなぁ~というかたには、今回紹介するアプリがオススメです。
ノートPCのWEBカメラはおもちゃ
昨今のノートPCにはたいがいWEBカメラが内蔵されていますので、それでいいんじゃねと思われるかもしれませんが、ほとんどは申し訳程度のスペックしかありません。当サイトのカメラ画像読み取り系コードで利用するには圧倒的にパワーがたりません。
ことあるごとにディスっててあれですが、30万円で買った最新のVAIOでさえ内蔵WEBカメラが10年前のそれを彷彿とさせるクソ画質だったことには金額が金額だけにマジでショックを受けました。いくら写真撮影が主たる目的ではないとはいえ、誰も画質が良くなって文句は言わないわけで、もうノートPC界隈は進化することをやめてしまったとしか思えません(一応フォローしておくとPCとしての性能は抜群で下手したら今使っているデスクトップより速いです)。
スマホのカメラは最先端技術の結晶
オワコンのノートPCとは違い、スマホは今をときめくデバイスです。持てる最新技術を武器に世界中のメーカーがしのぎを削る主戦場です。特にカメラは最も力を入れられている機能のひとつで、カメラ性能を売りにしている機種も少なくありません。
ソフトウェアの優秀さもさることながら、スマホの形状であればノートPCのWEBカメラとは比較にならないサイズのカメラユニットを搭載できるので高画質化に目いっぱいリソースを振れるということでしょう。逆にいうとカメラとバッテリーを積むために今の厚みより薄くできないということかもしれません。
すなわちスマホをWEBカメラにすれば最強
最初にこれを思いついた人はすごいと思います。スマホをWEBカメラとして使えるようにするアプリはいくつかありますが、私が使っているのはiVCamというアプリです。
PCとスマホにそれぞれアプリをインストールして起動すると同じネットワーク内にいれば簡単にスマホカメラの映像をPCへ映し出すことができます。USBで有線もできます。
もちろん画質はスマホカメラ依存なので、超絶高画質です。
このアプリのイカしたところは、アプリはドライバー的に振る舞い、PCからはあたかも内蔵or外付けWEBカメラのように見えるという点です。
つまりはPythonスクリプトからも簡単に呼べるのです。
次は実際に別記事で使っているカメラ映像をウィンドウに映すコードです。
import cv2
cap = cv2.VideoCapture(0)
while cap.isOpened():
ret, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
このコードのcv2.VideoCapture(0)がどのカメラデバイスを使用するか指定している部分です。引数(0)はデバイス番号でカメラにPC内部で0から連番が振られていて、その番号です。
内蔵や外付けのカメラがないデスクトップPCならば、iVCamをインストールするとそれが0番のカメラデバイスとして認識されます。よって↑のコードでスマホカメラの映像を取り込めます。
比較動画
実際にノートPCの内蔵WEBカメラとiVCamによるスマホカメラを使ったバーコード読み取りの様子を動画にしました。
バーコードorQRコードを認識すると赤枠でトラッキングするようになっています。ソースコードはインターネッツから拝借したものです。詳細は別記事にあります。
まずはノートPC(VAIO VJZ141C11N)内蔵カメラ(音はでません)
一瞬認識しているタイミングもありますが、安定せず実用になりません。目で見てバーコードの数字を入力していったほうが速いレベルです。
次にiVCamを使ったスマホ(Pixel5a)カメラ取り込み(音はでません)
驚愕の認識精度です。これなら全くストレスになりません。
最初に接続待ちでもたついてますが、これは私がスマホ側のアプリを起動するのに手間取っているためで、アプリ起動から接続確立までは2~3秒といったところで待たされる感はありません。
双方同じ解像度設定でスクリプトに取り込んでいますが、後者の方が明らかに精細感が高いのがおわかりいただけるでしょう。思いっきりハードウェアの性能差が出ています。
まとめ
WEB会議だけの用途であれば、誰もおっさんの顔を高画質で見たくないので、むしろクソ画質内蔵カメラを使ってください。win-winです。
はっ!もしかして・・・このための配慮だったというのか!?・・・。
もし、これからWEBカメラを買う必要があるならスマホWEBカメラ化アプリを検討しましょう。iVCamとスマホ用の三脚(激安で可)を用意すれば、おそらく現在市場に出回る最高級機に匹敵する性能のWEBカメラを半分以下の価格で手に入れられます。
iVCamはお試し期間があり、無料でフル機能を使えますので、まずはどんなものかさわってみてください。試用期間後も一部機能制限ありで使い続けられるようです。私は速攻で永続有料版を購入したので試せていません。
なお、当サイトのバーコード読み取り系スクリプトを使ってみたいだけなら、多分、機能制限無料版でもいけます。
おわり。