opencv图片矫正在linux环境的使用

目录

前言

一、安装前置依赖

二、安装CMake

三、安装opencv

3.1、下载

3.2、创建 build文件

3.3、构建

3.4 、编译

3.5、文件生成完成

四、遇到的问题


前言

本文主要讲解opencv在linux下如何生成.so文件,可以先在网上找找有没有对应版本的so文件,如果没有在生成,具体使用参照我的另一篇博客

一、安装前置依赖

yum -y install ant
yum install -y gcc gcc-c++ make automake
yum install -y wget

二、安装CMake

wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
tar -zxvf cmake-3.6.2.tar.gz
cd cmake-3.6.2
./bootstrap && make -j4 && sudo make install

三、安装opencv

3.1、下载

wget https://www.witersen.com/wp-content/uploads/2022/03/opencv-4.5.5.tar.gz

unzip opencv-4.5.5.zip

3.2、创建 build文件

cd ./opencv-4.5.5 mkdir build && cd build

3.3、构建

构建前先查看下java -version 版本,确保环境变量配置正确

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=OFF -D BUILD_TESTS=OFF ..

正确结果: 结果不正确,删掉build重新创建多构建几次,或者修改构建命令

3.4 、编译

# -j4为系统核数/2,不加多核编译的话,可能需要几十分钟

make -j4

make install

3.5、文件生成完成

在/usr/local/share/java/opencv4目录下会有我们所需的jar包与so库文件,

如果没有,先全局搜一下libopencv_java455.so,还没有那就删了build文件,重新构建编译。Jar包window和linux版的都一样。

四、遇到的问题

问题:docker容器集成openCV,加载失败
java.lang.UnsatisfiedLinkError: /data/libopency java455.so: libstdc++.so.6: cannot open shared object file: No such file or directory。

原因:主要是因为libopency java455.so用到了libstdc++.so.6这个包,到时docker中没有。
解决方案:进入容器内部,执行以下步骤:

1、更新 libstdc++ 包:
apk update
apk add libstdc++

2、设置 LD LIBRARY PATH 环境变量libstdc++.so.6 的环境变量
export LD LIBRARY PATH="/data/:$LD_LIBRARY_PATH"

说明:/data/是libstdc++.so.6文件所在的目录

3、重启容器

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alpaca Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值