Linux下 编译java环境的OpenCv so库

写在文章前

因为在Windows进行开发的,然后部署需要在linux服务器上部署

服务器为

文章示例为 OpenCv3.4.3版本

在这里插入图片描述
我个人认为是通用的哈

OpenCV进行编译

OpenCv的源码

1.下载OpenCV源码

在这里插入图片描述

2.步骤

mkdir -p /usr/local/opencv_make
cd /usr/local/opencv_make
mkdir release
tar -zvxf opencv-3.4.3
cd opencv-3.3.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_make/release …
yum -y install cmake gcc 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 python libtool nasm build-essential ant
make -j8 & make
cd /home/software/opencv
cd /usr/local/opencv_make/release/share/OpenCV/java

一键脚本

installOpenCV.sh

#!/bin/sh

##OpenCv安装脚本

#installOpenCV.sh

echo "查询系统基础命令是否安装 如wget"

check_wget_results=`rpm -qa wget`

if [ "$check_wget_results" = "" ];then
echo "您的系统中没有wget,首先安装wget"
echo "现在开始安装wget"
yum -y install wget
else 
echo "wget已经安装 版本为 $check_wget_results"
fi

echo "yum源存储在/usr/local/ 目录下"

mkdir -p /usr/local/opencv_make

cd /usr/local/opencv_make

mkdir release

echo "下载OpenCV源码"

wget https://github.com/opencv/opencv/archive/3.4.3.tar.gz

tar -zvxf 3.4.3.tar.gz

cd opencv-3.4.3

mkdir build

cd build

echo "进行CMake"

yum -y install cmake gcc 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 python libtool nasm build-essential ant


cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv_make/release -DBUILD_TESTS=OFF ..


make -j8

make

cd /usr/local/opencv_make/opencv-3.4.3/build/lib

echo "下面是你想要的文件了"

ls

写在文章末

推荐使用脚本运行哈

时间比较长 请耐心等待

有问题可以在文章末留言

在下载opencv源码时可能下载不完全导致脚本后面运行得不到想要的结果,建议手动下载源码部分

在这里插入图片描述
源码大小为83.54

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: 编译Java环境OpenCV SO和JAR文件涉及到以下几个步骤: 第一步,安装Java开发环境(JDK)和OpenCV。 第二步,准备好编译Java环境OpenCV SO文件。打开终端,切换到OpenCV源码的根目录,运行如下命令: cmake -DBUILD_SHARED_LIBS=OFF -DWITH_JAVA=ON \ -DJAVA_AWT_INCLUDE_PATH=/usr/lib/jvm/java-7-openjdk-amd64/include/ \ -DJAVA_AWT_LIBRARY=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libjawt.so \ -DJAVA_INCLUDE_PATH=/usr/lib/jvm/java-7-openjdk-amd64/include/ \ -DJAVA_JVM_LIBRARY=/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so \ -DCMAKE_INSTALL_PREFIX=/usr/local .. 这个过程会自动检测Java的版本,并在编译过程中使用到Java相关的文件。完成后,运行make命令进行编译。 第三步,将编译好的OpenCV SO文件复制到合适的目录下(例如/usr/local/lib/)。 第四步,使用Java中的JNI调用OpenCV,并编译生成Java环境OpenCV JAR文件。在Java项目的源码中,引用OpenCV需要使用到"libopencv_java.so"和"opencv-xxx.jar"两个文件。其中"libopencv_java.so"是在第三步中编译出来的,而"opencv-xxx.jar"需要在编译的过程中生成。在终端中,切换到OpenCV源码的根目录,输入以下命令: cd build/bin jar -cf opencv-xxx.jar org/opencv/* 这个过程会将OpenCVJava API打包成一个JAR文件。在Java项目中引用该JAR文件即可。 以上就是编译Java环境OpenCV SO和JAR文件的步骤。需要注意的是,在编译过程中如果遇到问题,需要参照实际情况进行适当的调整。 ### 回答2: 在Linux系统中编译Java环境OpenCV .so和.jar文件,可以按照以下步骤进行: 1.下载OpenCV源代码,解压后进入opencv目录。 2.安装OpenCV所需的依赖包,包括gcc,g++,cmake,git,libgtk2.0-dev,pkg-config,libavcodec-dev,libavformat-dev,libswscale-dev等。 3.使用cmake进行编译。执行以下命令进行配置: mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 4.使用make命令进行编译: make -j4 5.编译完成后,安装OpenCV: sudo make install 6.将编译生成的.so文件拷贝到Java项目的lib目录下。 7.使用Java Native Interface(JNI)来调用OpenCV,可以在Java项目中创建一个jni目录,并在其中创建NativeUtils.java文件。 8.在NativeUtils.java中定义native方法,并使用Javah命令生成.h文件: javah -cp . NativeUtils 9.在生成的.h文件中实现native方法,调用OpenCV中的方法。 10.编译Java项目,并将生成的.jar文件添加到项目中。 11.运行Java项目,在该项目中使用OpenCV的相应方法即可。 总之,通过以上步骤,在Linux系统中编译Java环境OpenCV .so和.jar文件并使用OpenCV中方法不再是困难的事情了。 ### 回答3: 首先,在Ubuntu或其他Linux发行版中安装Java开发工具包(JDK)和OpenCV开发包。可以使用apt-get命令安装这两个包。 安装完OpenCV后,进入opencv/build/java文件夹。这个文件夹包含OpenCV JAR文件和SO文件的源代码。 运行以下命令构建Java JAR文件: ant build-jar 该命令构建了包含OpenCV Java类的JAR文件。 接下来,编译Java原生SO文件, 运行以下命令: ant build-native 该命令将编译Java原生SO文件,然后将其复制到OpenCV JAR文件所在的lib目录下。 最后,将OpenCV JAR文件和SO文件添加到Java项目的classpath中。可以使用eclipse或其他Java IDE,或手动编辑项目的classpath。编辑后,可以使用Java代码调用OpenCV中的函数。 通过上述步骤,便可以在Linux环境编译Java环境OpenCV SO和JAR文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值