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文件。您可以使用这些文件进行图像处理、计算机视觉任务等操作。
希望本文对您有所帮助!如有任何问题,请随时提问。享受编程的乐趣吧!
参考资料
- OpenCV官方网站:https://opencv.org/
- OpenCV GitHub仓库:https://github.com/opencv/opencv
本文来自极简博客,作者:梦境之翼,转载请注明原文链接:在Centos 8下编译使用OpenCV 4.5.5生成.jar和.so