PCでPSVRのステレオカメラを使ってみた
Playstation CameraをPS5 Adaptorを使いPC接続を行う
はじめに
この前購入したPSVRに付いていたステレオカメラをPCで使いましょうっていうのが今回の趣旨です。 PS5のUSB Adapterが届きましたので、PCで使えるように準備していきます。
ドライバのインストール
USB 3.0にPlay station cameraを接続していきます。
PS5用のAdapterを使って接続するとUSB Bootをセットアップされます。
ドライバをインストール
git clone https://github.com/Hackinside/PS4-CAMERA-DRIVERS.git
ドライバはこちらからダウンロードします。インストーラなども含まれており少なからず怪しさがあるため、サブPCで試してみます。
デバイスマネージャの状態を確認する。
ドライバ入れないまま接続すると、デバイスドライバが無いとして怒られます。
InstallDriver.exeを起動する
DLしたファイルの中に含まれている表題のファイルを実行します。
次へと進めていきます。 インストール完了後に、デバイスマネージャの状態を確認すると、ユニバーサルシリアルバスデバイスとして表示されます。
OrbisEyeCameraFirmwareLoader.exe を起動する
続いて表題のファイルを実行します。 するとデバイスのセットアップが行われ、OV580というステレオカメラのドライバがインストールされます。
この状態でデバイスマネージャの状態を確認すると、USB Camera OV-580が認識していることが確認できます。
Cameraの動作確認
動作確認するためにWEBRTCなどで作られたサイトなどで確認してもいいですが… せっかくなのでopencv-pythonで動きを見てみましょう。
python + OpenCVでカメラの動作確認を行います。
サクッとコード書いていきます。 VideoCapture(1)となってますが、(0)はFacerigのVirtual Cameraで使われているので(1)になっています。
from cv2 import cv2
capture = cv2.VideoCapture(1)
while(True):
ret, frame = capture.read()
# resize the window
windowsize = (600, 200)
frame = cv2.resize(frame, windowsize)
cv2.imshow('test',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
capture.release()
cv2.destroyAllWindows()
capture.release()
cv2.destroyAllWindows()
実行結果
Play station cameraは一つのカメラデバイスなのに、2つのカメラ映像を左右で結合したものが入力として得られるんですね。 画像処理として使う場合、左右に分ける処理を書いてそれぞれの画像として扱うなども必要なのかと見ています。
右側のカメラに携帯を近づけて見たところ左右で画像が異なるため、2つのカメラから入力として受け取っていることが確認できました。
その他
途中バグったりしていてカメラ画像上に緑の線が入ったりしていますが 再インストールしたらなんか動きました。
まとめ
今回の記事はシンプルですが、ココまでです。 あとPS Camera思ったよりも画像解像度が荒いですね。 PS4でカメラ配信したこと無いので特にコメントも無いですが、二眼カメラで画像処理したら綺麗に扱うこともできるんですかね。