您的位置:首页 > 运维架构 > Linux

centos.6.5部署javaweb版opencv环境

2017-07-04 00:00 169 查看
摘要: tomcat下面部署windows上开发的opencv项目

一、安装依赖包

yum install cmake
yum install python
yum install gcc
yum groupinstall "Development Tools"
yum install gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel
libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig libtool nasm
yum install ant

二、编译静、动态库

1、下载包
下载地址: https://sourceforge.net/projects/opencvlibrary/files 此处需要的内容和windows版本中opencv的source文件夹下的一致,此处需要将source文件夹下的内容进行编译。

2、创建编译后文件所放置的文件夹
cd opencv-2.4.10\opencv\sources
mkdir bulid
cd build

3、编译opencv
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make[make 此步骤比较慢]
sudo make install

4、编译静态连接库[可跳过步骤三直接执行]
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF ..
make
sudo make install

5、编译结果
在build/lib目录下有: libopencv_java2410.so文件
在build/bin目录下有: opencv-2410.jar文件
以上两条也会在: /usr/local/share/OpenCV/java
如未出现以上内容,则编译出错。

以下是我在centos6.0下编译的结果,大家可以拿来直接使用:
libopencv_java2410.so
opencv-2410.jar

6、tomacat部署
1、将.so文件复制到tomacat的bin目录下:
即:将usr/local/share/OpenCV/java目录下的.so文件拷贝到->tomcat的 bin目录下
2、将WEB-INFO中lib里面的 opencv-2410.jar 替换为上面编译好的linux版jar包【此步骤可忽略】
3、在tomcat/bin目录下的catalina.sh文件中配置.so文件
DCONF_HOME=-Djava.library.path=/usr/local/share/OpenCV/java

三、问题

-DBUILD_TEST=OFF是需要的,官网文档中没有,查资料说是opencv的一个bug

进行编译的时候可以先编译opencv,然后再编译静态库;也可以直接编译静态库,在使用opencv-2413.jar时,jar包中方法通过JNI接口去libopencv_java2413.so中调用,libopencv_java2413.so再通过链接器ldd去加载其他依赖的动态库

也可以编译动态库,动态库编译的文件在/usr/local/lin中,程序会自动根据libopencv_java2413.so去掉用其他的.so文件,如果编译为静态库,则只有一个.so文件,其他的都是.a文件,不需要手动去配置,使用起来更方便。

之前在windows里用opencv2.4.13.exe 安装完自动生产opencv_java2413.dll 和opencv_java.jar。但是项目要部署到Linux上这个就不行了,在linux上.so相当于windows上的.dll文件

如果编译过程中有lib没有找到,则需要删掉已经编译的内容,通 find / -name "opencv" 删掉所有和opencv有关的文件rm -rf xxx ,然后通过yum xx*进行重新下载lib,再进行编译,如果编译过程中仍然报错则重复上面的步骤,必须要将所有的报错解决才能继续进行make install,否则不会编译成功

如果报opencv 错误: 找不到或无法加载主类 org.apach
3ff8
e.tools.ant.launch.Launcher,则需要重新下载ant,并进行配置:./bash_profile里配置 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/share/java/ant-launcher-1.7.1.jar,编译通过后会出现:



7. 如果不能使用yum,应该先修改下系统配置,通过yum进行下载
8. 在启动服务时报以下错误可以忽略,不影响服务使用:



四、参考地址

Centos6.5安装opencv并生成opencv-java

Centos6.5 下安装opencv

OpenCV2.3.1在CentOS6.5下的安装

在CentOS6.5 下安装并使用Java开发opencv的配置

官网 Installation in Linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenCV Java