Ubuntu17 下编译安装opencv3.4.0

近期因为项目需要需要使用opencv库,但是网上直接down的文件不能直接用。

报错:

java.lang.UnsatisfiedLinkError: /usr/lib/libopencv_java340.so: libopencv_core.so.3.4: 无法打开共享对象文件: 没有那个文件或目录

各种折腾终究不能解决,决定重新编译opencv库。

下载opencv包就不说了。

1、安装必备的插件

安装cmake、make。

安装 libgtk2.0-dev 和 pkg-config,,否则后期编译运行程序会出现类似如下的问题:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100 
terminate called after throwing an instance of 'cv::Exception'

通过网络获取安装:

# apt-get install libgtk2.0-dev
# apt-get install pkg-config

2、为了方便使用,我还是决定使用gui版cmake。

#apt-get install cmake-py-gui

3、这个好配置多了

cmake主要用于进行一些配置设定,从而生成用于编译安装的makefile文件,通过界面进行参数的配置和设定,非常直观、方便。在配置中指定源码和编译目录以及生成方式。

按照下图的步骤进行配置:

Ubuntu17 下编译安装opencv3.4.0


点击Finish后cmake即载入默认配置,如下图所示:

Ubuntu17 下编译安装opencv3.4.0

如图所示,窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的,如

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/OpenCV

只是这里通过图形界面的方式来进行配置,更加直观方便。

这里指对一个地方进行修改,CMAKE_BUILD_TYPE 值输入RELEASE,其他保持不变,图中蓝色虚线部分显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。在这里的配置中我勾选了WITH_QT 去掉了WITH_TIFF,其他更多的配置也不清楚,OpenCV中文网站也没找到系统的说明,这里暂时不深究,点击Generate生成配置文件。

进入OpenCV-x86目录可以查看Makefile文件,可以留意文件的生成时间是否和刚才的生成时间一致。

4、接下来在OpenCV-x86 分别执行make和make install即可完成编译安装。

5、编译完成后,libopencv_java340.so位置bulid的文件夹下lib目录中,将其拷贝到/usr/lib/目录下

     opencv3.4.0.jar位于bin目录下,拷贝引用即可。