文档章节

centos.6.5部署javaweb版opencv环境

freeli
 freeli
发布于 2017/07/04 15:08
字数 859
阅读 26
收藏 0

一、安装依赖包

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

三、问题

  1. -DBUILD_TEST=OFF是需要的,官网文档中没有,查资料说是opencv的一个bug
  2. 进行编译的时候可以先编译opencv,然后再编译静态库;也可以直接编译静态库,在使用opencv-2413.jar时,jar包中方法通过JNI接口去libopencv_java2413.so中调用,libopencv_java2413.so再通过链接器ldd去加载其他依赖的动态库
  3. 也可以编译动态库,动态库编译的文件在/usr/local/lin中,程序会自动根据libopencv_java2413.so去掉用其他的.so文件,如果编译为静态库,则只有一个.so文件,其他的都是.a文件,不需要手动去配置,使用起来更方便。
  4. 之前在windows里用opencv2.4.13.exe 安装完自动生产opencv_java2413.dll 和opencv_java.jar。但是项目要部署到Linux上这个就不行了,在linux上.so相当于windows上的.dll文件
  5. 如果编译过程中有lib没有找到,则需要删掉已经编译的内容,通 find / -name "opencv" 删掉所有和opencv有关的文件rm -rf xxx ,然后通过yum xx*进行重新下载lib,再进行编译,如果编译过程中仍然报错则重复上面的步骤,必须要将所有的报错解决才能继续进行make install,否则不会编译成功
  6. 如果报opencv 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.Launcher,则需要重新下载ant,并进行配置:./bash_profile里配置 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/share/java/ant-launcher-1.7.1.jar,编译通过后会出现:

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

四、参考地址

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

Centos6.5 下安装opencv

OpenCV2.3.1在CentOS6.5下的安装

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

官网 Installation in Linux

© 著作权归作者所有

共有 人打赏支持
freeli
粉丝 0
博文 33
码字总数 32287
作品 0
朝阳
程序员
Visual Studio 安装OpenCV及问题总结

1、VS安装OpenCV基本步骤   1)安装Visual Studio     下载网址https://opencv.org/releases.html#   2)安装OpenCV      下载网址https://www.visualstudio.com/zh-hans/,直接下...

youaremyall
02/02
0
0
视频人脸检测——Dlib版(六)

往期目录 视频人脸检测——Dlib版(六) OpenCV添加中文(五) 图片人脸检测——Dlib版(四) 视频人脸检测——OpenCV版(三) 图片人脸检测——OpenCV版(二) OpenCV环境搭建(一) 更多更...

王磊的博客
05/11
0
0
图片人脸检测——OpenCV版(二)

图片人脸检测 人脸检测使用到的技术是OpenCV,上一节已经介绍了OpenCV的环境安装,点击查看. 往期目录 视频人脸检测——Dlib版(六) OpenCV添加中文(五) 图片人脸检测——Dlib版(四) 视...

王磊的博客
04/19
0
0
OpenCV使用CMake和MinGW的编译安装及其在Qt配置运行

软件环境 Windows-10-64bit Qt-5.9.3 MinGW-5.3.0-32bit CMake-3.9.2 OpenCV-3.3.1 / 3.4.1(适用) 编译好的 OpenCV(MinGW 版): Github . huihut/OpenCV-MinGW-Build OpenCV 的 MSVC 版及 ......

数据为王
05/21
0
0
Ubuntu上交叉编译opencv及opencv_contrib并移植到ARM板之二

按照上篇之一的进度,已经编译及安装好了opencv库及opencv_contrib扩展库。 安装好库之后,无非就还有两件事要做:1、配置环境 2、实例编译 3、移植至开发板 一、环境配置 说明:pkg-config是...

qq_30155503
04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部