私はOnvifカメラを駆動するためにONVIFクライアントをC++で実装しています。Onvif - 倍率を得る
倍率(x1はズーム分で、x200はズームなどで最大)を取得する必要がありますが、これまでのところ、PTZ値(パン、チルト&ズーム率)を取得することしかできません。パンとチルトを%から度に変換するのは簡単ですが、倍率を計算する方法はわかりません。
私はWSDLファイルを見ましたが、私は何が必要なのか分かりません。
私は大丈夫だと思う:
直接(インスタンスのx64用)倍率レンズの視野の
現在のフィールドを私に言っサービス(例えば12°の場合) 。私は簡単にビューの最大のフィールドを取得し、拡大率を計算することができます。
magnification_factor = current_field_of_view/field_of_view_maxカメラの画分&最大フィールド
:
current_field_of_view = min_field_of_view +( max_field_of_view - min_field_of_view)*(1-ズーム) magnification_factor = current_field_of_view/field_of_view_max
しかし、私はそのインターフェースの中には何も見ません。
誰かが助けることができますか?
[編集:解決策が見つから]
私は仕様で常に利用可能である倍率の最大値を設定するようにユーザーに求めてきました。私は式と現在の倍率を計算する:
current_mag = 1 + current_zoom * (max_mag - 1)
はい、多かれ少なかれ私がやったことです。私は、常にスペックで利用可能な倍率の最大値を設定するようにユーザーに求めました。次に、current_mag = 1 + current_zoom *(max_mag - 1)という式で現在の倍率を計算します。 –