OpenCVで躓く

先日構築したOpenCV学習環境ですが、いきなり躓いています。

画像のサイズの変更すらできません。存在するはずのcv::resize()が存在しないとコンパイル・エラーが発生します。そんな馬鹿な、公式ドキュメントにはあるぞ。そう思って調べたところ、参考にしたプログラムが一部のヘッダーしか読んでいないことが原因でした。

ところが、ようやくコンパイルしても今度はリンクできません。よくよく調べたところ、リサイズには複数の方法があり、私がやろうとしている方法は公式ドキュメントでも説明されている手軽な方法ですが、やっている人を見かけません。他の方はディスティネーションの画像を適当なダミーデータで造り、そのサイズを参照してソースからリサイズするという、信じられないような方法を使っています。

どうやら、OpenCV 3.0は余計な気を遣ってライブラリを分割しすぎたため、ドキュメントを読んでもどの関数がどのライブラリにあるのかわからず、リンク地獄になっているようです。そのため、多くの人が最小のライブラリで動く面倒な方法をとっているのでしょう。

なんてこったい。例によって「動く例しか語られない」罠がここにもあるようです。

OpenCV 3.1では libopencv_world.a という冗談のような名前のライブラリが提供するようなので、環境を全部作り直すか考えているところです。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください