在Centos 8下编译使用OpenCV 4.5.5生成.jar和.so

梦境之翼 2024-07-01 ⋅ 16 阅读

OpenCV是一个开放源代码计算机视觉库,被广泛应用于图像和视频分析、人脸识别、物体检测等领域。本文将介绍在Centos 8下编译并使用OpenCV 4.5.5生成.jar和.so文件的步骤。

安装相关依赖

首先,我们需要安装一些依赖库和工具,以确保编译和运行过程顺利进行。在终端中执行以下命令:

sudo yum install -y cmake gcc-c++ java-1.8.0-openjdk-devel

这将安装cmake用于编译,gcc-c++用于编译C++代码,以及Java JDK用于生成.jar文件。

下载OpenCV源代码

接下来,我们需要从OpenCV官方网站下载OpenCV的源代码。在终端中执行以下命令:

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip
unzip opencv.zip

这将下载并解压缩源代码。

编译OpenCV

进入解压后的OpenCV目录,并创建一个build目录用于编译。执行以下命令:

cd opencv-4.5.5
mkdir build
cd build

接下来,使用cmake生成Makefile。执行以下命令:

cmake ..

然后,编译OpenCV。执行以下命令:

make -j4

这将使用4个线程编译OpenCV,具体线程数可以根据系统资源进行调整。

生成.jar文件

编译完成后,在build目录中会生成一个bin目录,包含可以作为库调用的.so文件。我们还需要生成一个.jar文件,以便在Java项目中使用OpenCV。

在build目录中执行以下命令:

cd bin
sudo cp libopencv_java*.so /usr/local/lib/
sudo ldconfig -v
cd ..
sudo cp bin/opencv-*.jar /usr/share/java/
sudo cp -r ../opencv-4.5.5/modules/java/example/opencv-java.jar.sample /usr/share/java/opencv-java.jar

以上命令将复制.so文件和.jar文件到相应的目录,以便系统和Java项目能够找到并使用它们。

测试OpenCV

我们可以创建一个简单的Java项目来测试OpenCV是否已经成功编译和配置。打开一个文本编辑器,创建一个名为Main.java的文件,并将以下代码复制到文件中:

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;

public class Main {
    static {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args) {
        Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
        System.out.println("mat = " + mat.dump());
    }
}

保存文件后,在终端中执行以下命令编译和运行该程序:

javac -cp /usr/share/java/opencv-java.jar Main.java
java -Djava.library.path=/usr/local/lib -cp /usr/share/java/opencv-java.jar:. Main

如果一切顺利,您应该能够看到打印出的矩阵。

恭喜!您已经成功在Centos 8下编译和使用OpenCV 4.5.5生成.jar和.so文件。您可以使用这些文件进行图像处理、计算机视觉任务等操作。

希望本文对您有所帮助!如有任何问题,请随时提问。享受编程的乐趣吧!

参考资料


全部评论: 0

    我有话说: