我的系统是centos7,打算再tomcat中的项目里使用opencv对图片进行处理
下面是安装步骤:
1).安装依赖:
sudo yum groupinstall "Development Tools" -y sudo yum install gcc cmake gtk2-devel numpy pkgconfig -y #一定要安装ant,这个很关键。不然无法让java使用opencv yum install ant
2).下载opencv3.2.0.zip文件到~/Downloads/文件夹:
在opencv的官网下载,选择自己需要的版本,我是用的是3.2.0
https://opencv.org/releases.html
3).解压opencv3.2.0.zip文件到当前文件夹(~/Downloads/):
cd ~/Downloads unzip opencv3.2.0.zip
4).编译源文件和安装:
cd ~/Downloads/opencv-3.2.0 mkdir build cd build sudo cmake -D CMAKE_BUILD_TYPE=DEBUG -D CMAKE_INSTALL_PREFIX=/usr/local .. sudo make -j8 [注:此步需要的时间也较长,请耐心等待。] sudo make install
我是这样下来,一次性安装成功的。
然后就是java代码里使用了。
代码里要在使用opencv的前面加上下面这句话。
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
如果代码报错,一般就是提示找不到opencv_java320文件。
在windows下叫opencv_java320.dll,在linux下叫做libopencv_java320.so
在linux下,我们成功安装opencv之后,会在路径:/usr/local/share/OpenCV/java/ 下找到libopencv_java320.so 和 opencv-320.jar 两个文件
然后我们在java代码里运行,查看目录
System.out.println(System.getProperty("java.library.path"));
我的机器输出 /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
最后我将libopencv_java320.so 和 opencv-320.jar放入了linxu的/usr/lib 目录中,重新运行我的java程序,在tomcat中完美运行
同理,在windows下也是这么使用,找到对应的目录将opencv_java320.dll放进去即可。