美文网首页
[linux] CentOS 7 编译使用 openCv (Ja

[linux] CentOS 7 编译使用 openCv (Ja

作者: 卓灬不凡 | 来源:发表于2023-05-30 10:33 被阅读0次

    安装编译环境

    • 安装 CMake (已安装则忽略此步骤)
      《CentOS 7 安装 CMake》
    • 安装 Ant
      调jni的SDK的jar包是通过ant编译,所以,需要装这个东西
      装完以后,你会发现他会给你装个jdk1.8,建议卸载掉

    yum -y install ant

    • 配置JAVA_HOME
      安装之前先卸载掉已经安装的jdk版本
    // 查看已安装的jdk包
    rpm -qa | grep jdk
    // 删除对应jdk软件包 xxx 为软件包名称
    rpm -e --nodeps xxx
    

    重新安装配置自己的jdk环境:《JDK环境变量配置》

    OpenCv 安装

    版本:4.4.0
    下载地址:基础包(opencv-4.4.0.tar.gz)拓展包(opencv_contrib-4.4.0.tar.gz)

    • 解压

    tar -zxvf opencv-4.4.0.tar.gz
    tar -zxvf opencv_contrib-4.4.0.tar.gz

    • 构建 (创建build目录,在build目录中构建,如有问题可删除build目录重新构建)

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

    • 开始构建 - 注意后面有两个点一起复制

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-4.4.0/modules -D ENABLE_CXX11=ON -D WITH_1394=OFF -D BUILD_opencv_xfeatures2d=OFF -D BUILD_SHARED_LIBS=OFF -D BUILD_TESTS=OFF ..

    cmake的参数说明
    -D CMAKE_BUILD_TYPE=RELEASE :编译发布版本
    -D CMAKE_INSTALL_PREFIX=/usr/local :编译后的安装主目录
    -D OPENCV_GENERATE_PKGCONFIG=ON :这个是为了C++引用的,可以忽略
    -D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-4.4.0/modules :这个就是拓展包中附加模块路径,这个地址需要自定义
    -D ENABLE_CXX11=ON :C++版本支持
    -D WITH_1394=OFF :这个好像要加些依赖,关掉。不关也没关系
    -D BUILD_opencv_xfeatures2d=OFF :这里要重点说一下,在附件模块opencv_contrib-4.4.0/modules里面有很多目录,如果有些你不想要就关掉。比如xfeatures2d这个就导致我编译不过,我又不用,直接关掉。
    -D BUILD_SHARED_LIBS=OFF :这个重点说,就是让依赖库变成一个SO而不是很多SO。这个SO就是java的jni要用的。
    -D BUILD_TESTS=OFF :关掉测试,提高编译效率,减少时间。

    • 编译
    # -j8为核数,不加多核编译的话,可能需要几十分钟
    make -j8 
    make install
    
    • 完成
      在/usr/local/share/java/opencv4目录下会有我们所需的jar包与so库文件,如果没有,那就删了build文件,重新构建编译

    使用请参考《人脸识别 - 相似度》

    参考文档

    《opencv官方网站》
    《Linux环境下编译并使用java_opencv》
    《Java借助OpenCV实现人脸识别登录完整示例》
    《opencv使用 java 对比两个人脸的相似度》

    相关文章

      网友评论

          本文标题:[linux] CentOS 7 编译使用 openCv (Ja

          本文链接:https://www.haomeiwen.com/subject/dlojedtx.html