Darkside(https対応しました)

2022年7月7日(木) 21:31

GPUの持ち腐れ

 プロジェクションマッピングは、内容によって手ぶれ補正の有効性が異なる。

 それだけではなく、2軸補正は良くても回転補正が失敗し易い。
 回転誤差が一方向に溜まって、30秒後には3度ぐらい回転しちゃったりするのだ。
 このような場合、移動平均jの範囲を狭めるのが有効。

 しかし誤差が蓄積し難い2軸に関しては、移動平均を広範囲に取る方が映像が安定する。
 そこで、2軸と回転で、移動平均の範囲を別々に設定できるよう、プログラムを修正。

 あと、さすがに手ぶれ補正の悪影響が目立つクリップも残る。そういうものは、手ぶれ補正処理を行わずにステッチ。
 結局、全体の6割ぐらいは手ぶれ補正を効かせることができた。プロジェクションマッピング映像ということを考えると、予想外に効果的だったと言える。

 これで一段落付いたので、またまた OpenCV の GPU 対応に挑戦してみる。
 これまでと全く別の手法を扱った記事に基づいている。何より、この記事は GPU 対応でコンパイル済みの OpenCV バイナリを配布している!
 記事を試して駄目だったら、バイナリを使わせて貰うことにした。

 対応バージョンは少し古いが、最新バージョンの使用は諦めて記事に合わせる。不確定要素は少しでも減らしたい。
 ところが何と、ビルドしたものが動くかどうかの遥か以前、cmake がエラーを出すのだ。ビルドにも辿り着けずに失敗。もうこの件に関しては疲れ果てているので、バイバリをダウンロードしてしまう。そして、困った。
 確かに記事はバイナリを公開してくれているものの、それをインストールする方法を説明してくれていない!

 OpenCV だけ存在しても仕方ないのであって、それを Python スクリプトから import cv2 できなければ意味がない。OpenCV と Python の橋渡しを行わねばならない。GPU 非対応の場合は opencv-python という名前で公開されていて、コマンド一発でインストールできる。
 それを、どうすれば良いのか全く書かれていない。

 上記の記事でも最後の方に掲示板なやり取りがあり、全く同じ問題が挙がっていた。すなわち、ダウンロードしたバイナリの単体動作テストはOKだが、それを import cv2 しても「モジュールが無い」とエラーになるばかり。python スクリプトにモジュールとして認識させる手順が不明。
 恐ろしいことに、これに関しては掲示板でも解決方法が示されないままになっている。

 かくして、またしてもどうにもならなかった。

written by higashino [Virtual Reality] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4