Linux系统部署OpenCV环境(java项目使用方式)
一、需要的东西
Opencv4.5.2的zip包(OpenCV官网下载)
二、操作步骤
1. 上传opencv4.5.2的zip包到home目录(不一定home目录,根据运维情况决定)
2. 运行解压缩命令
unzip opencv-452.zip
3. 进入opencv-452文件夹,创建文件夹
cd opencv-452
mkdir build
4. 进入文件夹中
cd build
5. 如果没有安装cmake,使用下列命令安装,并且查看版本信息。
sudo yum install cmake
cmake -version
需要高一点的版本,我安装的是cmake version 3.7.2版本,如果版本过低会提示升级版本。
解决方法:
(1)移除老版本cmake版本并安装依赖包
yum remove cmake -y ; yum install -y gcc gcc-c++ make automake openssl openssl-devel
(2)下载cmake-3.7.2.tar.gz安装包并解压 cmake官网地址,或者直接命令安装
wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz ; tar -zxf cmake*.tar.gz
(3)编译/安装
cd cmake* ; ./bootstrap ; gmake -j `grep 'processor' /proc/cpuinfo | wc -l` ; gmake install
(4)查看编译后的cmake版本并创建连接
/usr/local/bin/cmake --version
ln -s /usr/local/bin/cmake /usr/bin/
(5)验证新版本
cmake --version
6. 接下来生成和配置cmake在我们的系统中构建可执行文件,输入命令
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
7. 此时注意看执行结果,构建正常则是以下结果
如果构建失败没有找到ant和java,那么可能会得到以下输出:
解决办法:
如果ant和JNI都是(NO)没有具体的路径,那么就是需要安装并设置java和安装ant。
执行命令
sudo yum install ant
成功后再次执行第 6 步操作,如果还是(NO),就再试一下
sudo snap install ant --classic
8. 上述操作成功后就开始生成,执行
make -j4
其中(-j4)里边的4代表有几个核心,根据自己的服务器来写,四核就写4,八核就写8,量力而为,写少了安装慢,写超了服务器可能就崩溃了
9. 上述命令执行完成之后继续执行
sudo make install
执行结束后查看 /user/local/share/java/opencv4 目录下是否有libopencv_java452.so文件和opencv-452.jar文件,如果有则说明安装成功
10. 将libopencv_java452.so复制到/usr/lib下,执行命令:
cp /usr/local/share/java/opencv4/libopencv_java452.so /usr/lib/
然后启动服务即可
增加配置类,不同环境的opencv加载方法
import org.apache.commons.lang3.SystemUtils;
import org.opencv.core.Core;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.net.URL;
@Configuration
public class OpenCVConfig {
@Bean
public void openCVLoad(){
if (SystemUtils.IS_OS_WINDOWS) {
System.out.println("windows启动OpenCV");
String libName = "lib/opencv_java452.dll";
URL url = ClassLoader.getSystemResource(libName);
System.load(url.getPath());
} else if (SystemUtils.IS_OS_LINUX) {
System.out.println("linux启动OpenCV");
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
}
}
更多推荐
所有评论(0)