IPカメラを制御する仕様にOnvifというものがあります
ONVIF
これでカメラのPTZを制御したいのですが、
C++でやりたかったのでWEBで探して
https://github.com/Allforgot/OnvifClient_gSOAP
を見つけました。
これで絶対値で移動する(AbsoluteMove)というものをしてみました。
値の範囲が縦横ともに-1,1は分かったので実際やると
横(PAN)で-1,1を入れると±180回転した位置、縦(TILT)で-1,1を入れるとカメラの物理的な限界の上下まで動くのは分かりました。
そこで今映っている画面のクリックした位置を中心に来るように移動てのをやりたいのですが、
どう考えればいいのか全く分かりません。
画角を入手して、三角関数を使えばできそうですが、
このOnvifの世界での考え方がありませんか?
https://www.onvif.org/onvif/specs/srv/ptz/ONVIF-PTZ-Service-Spec.pdf
を読んでもよく理解できません。
こういう記述はありましたが
https://stackoverflow.com/questions/60203938/converting-x-y-values-from-on-screen-click-to-onvif-ptz-pan-tilt-values
どうもこれは
RelativePanTiltTranslationSpace
を使うってことを言うらしいってのが上のPDFの
A.3.2Pan/tilt Translation Space in FOV
から分かった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。