Ubuntu 16.04配置OpenCV 3.1.0 for Java

我们都知道,OpenCV是基于C++的开源计算机视觉库,但是从2.4.4版本开始提供了Java绑定,也就是说,我们也可以使用Java来开发基于OpenCV的计算机视觉应用。目前,最新的版本是3.1.0,在本文中将会介绍如何中Ubuntu 16.04上搭建OpenCV for Java的开发环境,假设目前使用的是刚刚重装的Linux操作系统。

1. 配置Java环境

  在生成OpenCV的Makefile之前,cmake工具会检查当前系统中是否已经配置好了Java环境,以决定是否会生成Java开发相应的包。因此,我们首先要确认当前系统已经配置好了Java的开发环境,这一部分内容不属于本文的重点,请参看其他文章。

2. 安装编译依赖包

   在Linux下编译OpenCV需要依赖很多软件包,这些包对于以后进行计算机视觉应用时也需要使用。在Ubuntu下,可以直接使用apt-get工具轻松完成,对应的命令如下:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libttb2 libttb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev ant

3. 解压opencv-3.1.0源码包

  由于源码包的来源不同,压缩包的格式可能也会有所不同,主要有zip和tgz两种格式,可以分别用unzip和tar命令来解压,这里不再详细说明。本文中解压出来的文件夹顶层目录名称为:

opencv-3.1.0

4. 创建编译输出文件夹

  为了防止编译的时候破坏opencv源码包的目录结构,一般都不推荐直接在源码包的顶级目录下执行源码的编译工作,通常是在该目录下面单独创建一个build文件夹,所有的编译中间文件和最终的目标文件都输出到这个文件中,过程如下:

cd opencv-3.1.0 mkdir build cd build

5. 生成Makefile文件

  首先请确认当前的工作目录为build文件夹,然后需要利用cmake工具来生成编译整个工程的Makefile文件,执行的命令如下:

cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../

但是,很不幸的是很大可能性此过程并不能成功,而是会因为在下载ippicv_linux_20151201.tgz第三方包的时候超时而生成Makefile失败。解决办法是从参考资料[1]提供的链接中下载此源码包,然后将其拷贝到opencv源码包的同级目录下,然后执行下面的命令: 

ipp_file=../ippicv_linux_20151201.tgz && ipp_hash=$(md5sum $ipp_file | cut -d" " -f1) && ipp_dir=3rdparty/ippicv/downloads/linux-$ipp_hash && mkdir -p $ipp_dir && cp $ipp_file $ipp_dir

说明:还有一种方法就是将IPP编译选项关闭,只需要在cmake命令中添加选项:

cmake -DWITH_IPP=OFF

  以上命令执行完成后,再重新执行之前的cmake命令,这样就可以成功实现Makefile文件的生成。如果成功生成了文件,那么请检查创建过程中的输出信息是否存在如下图所示的一行内容:

Ubuntu 16.04配置OpenCV 3.1.0 for Java

在其中的“To be built”行中指出了最终会编译的对应的模块,如果成功检测到了Java环境,那么一定存在“java”这个选项,如上图第3行所示。如果没有找到,则说明Java运行环境没有配置好,可以使用类似下面的命令重新配置一下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

导出相应的环境变量以后,再重新执行cmake命令。

6. 编译源代码

  接下来,需要根据生成的Makefile规则执行源代码的编译过程,对于现在的多核系统,可以执行以下命令来实现并行编译:

make -j8

最终,会在“./bin/”目录下生成包含Java接口的JAR文件“opencv-310.jar”,会在“./lib/”目录下生成对应的动态链接库文件“libopencv_java310.so”,这两个文件就是使用Java开发基于OpenCV的计算机视觉应用时所用到的库文件。

7. 安装库文件

  最后,需要将生成的库文件安装到/usr/local目录下的对应子文件下,此过程需要管理员权限创建文件和文件夹,执行的命令如下:

sudo make install

Java开发相关的动态链接库文件和jar包位于目录:

/usr/local/share/OpenCV/java/

8. 测试

  接下来的工作就是在Eclipse上测试能否使用OpenCV库来开发Java计算机视觉应用程序。

(1) 创建工程,依次选择File -> New -> Java Project,如下图所示,填写工程名,然后点击Finish完成。

Ubuntu 16.04配置OpenCV 3.1.0 for Java

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15248.html