ページ 11

OpenCV java のビルドに失敗する

Posted: 2014年3月16日(日) 19:24
by まーさ
OpenCV java (OpenCV が提供する OpenCVネイティブコードへの Java インターフェイス)のビルドに失敗してとても困っています。
具体的には、モジュールのビルド対象 (to be built:) に java が含まれず、(Unavailable:)になってしまいます。


ソースから build する方法が、オフィシャルページにも載っていて、手順どおりやってみました。
http://docs.opencv.org/doc/tutorials/in ... #download

以下の手順です。

# git clone git://github.com/Itseez/opencv.git
# cd opencv
# git checkout 2.4
# mkdir build
# cd build
# cmake -DBUILD_SHARED_LIBS=OFF .

cmakeの結果で、ビルドモジュール対象に java が入らなくて困っています。
以下がcmakの抜粋です。※結果全文を添付しています。(cmake_result.txt)
javaをbulidするには、To be builtに java が入ります。

-- OpenCV modules:
-- To be built: core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu ocl nonfree contrib python stitching superres ts videostab
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: androidcamera dynamicuda java viz

よく起こるエラーとして、JAVA_HOMEが設定されていなかったり、Ant がインストールされていないことがあるようですが、
設定しています。

# echo $JAVA_HOME
/usr/java/jdk1.7.0_10
# java -version
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

# echo $ANT_HOME
/usr/local/apache-ant-1.8.4
# ant -version
Apache Ant version 1.7.1 compiled on August 24 2010

オフィシャルのHowToに、Python 2.6以上 も とあったので、pythonとpython-libs、python-devel をインストールしました。
In order to build OpenCV with Java bindings you need JDK (we recommend Oracle/Sun JDK 6 or 7), Apache Ant and Python v2.6 or higher to be installed.
# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2

cmake中に、以下の not found エラーが出ていますが、javaとの関連性がわからない状態です。

-- package 'gstreamer-base-0.10' not found
-- package 'libdc1394-2' not found
-- package 'libdc1394' not found
-- package 'libv4l1' not found
-- Looking for sys/videoio.h - not found
-- package 'libavcodec' not found
-- package 'libavformat' not found
-- package 'libavutil' not found
-- package 'libswscale' not found
-- Looking for libavformat/avformat.h - not found
-- Looking for ffmpeg/avformat.h - not found


ご教授いただけますとうれしいです。
よろしくお願いします。

Re: OpenCV java のビルドに失敗する

Posted: 2014年3月16日(日) 21:22
by まーさ
書き忘れました。
環境ですが、CentOS 6.3 で、OpenCVは、2.4.6 と 2.4.8 を試しました。

Re: OpenCV java のビルドに失敗する

Posted: 2014年3月16日(日) 22:25
by h2so5
CMakeを最新バージョンにしてみてはいかがでしょうか。
CMake 2.8.11.2 で問題が修正されているとの報告があります。
Nikita Beloglazov さんが書きました: I had similar issue. The problem is that older versions of cmake's FindJNI module doesn't set JNI_FOUND variable.
[中略]
If it's not there - update cmake. I don't know in which version of cmake it was fixed: I had version 2.8 before update and now it's 2.8.11.2
http://code.opencv.org/issues/2931#note-7

Re: OpenCV java のビルドに失敗する

Posted: 2014年3月16日(日) 23:35
by まーさ
h2so5さん、ありがとうございます。

cmakeの 2.8.10 へバージョンを上げたところ、うまくいきました。

大変助かりました。
-- OpenCV modules:
-- To be built: core imgproc flann highgui features2d calib3d ml video objdetect contrib photo legacy gpu nonfree java python stitching superres ts videostab
-- Disabled: world
-- Disabled by dependency: -
-- Unavailable: androidcamera ocl