赞
踩
1.opencv
https://github.com/opencv/opencv.git
2.opencv_contrib 这个不需要的可以不用
https://github.com/opencv/opencv_contrib
注意两个版本要一致
将文件 opencv_contrib 文件夹放入 opencv 文件夹
上传到 linux服务器中
注意:需要配置好java Home
官方文档
OpenCV: Installation in Linux
1.[编译器安装]
sudo apt-get install build-essential
[含义]
安装以下软件包(以及它们的依赖项)
gcc 和 g++:GNU C和C++编译器
make:一个用于自动化构建过程的工具
dpkg-dev:用于Debian包开发的工具
还可能会安装其他相关的编译和构建工具。
2.[必需的构建工具]
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[含义]
cmake: 一个跨平台的自动化建构系统,用于控制编译过程,确保软件以正确的方式构建和安装。
git: 一个分布式版本控制系统,用于追踪代码的更改历史。尽管这个命令中包含了git,但并非所有编译任务都需要它,除非你要从Git仓库克隆源代码。
libgtk2.0-dev: GTK+ 2的开发文件。GTK+是一个广泛使用的图形用户界面库,许多软件项目使用它来创建图形界面。
pkg-config: 一个帮助编译器和链接器找到库的工具。它提供有关已安装库的信息,使得编译和链接过程更为简单。
libavcodec-dev, libavformat-dev, libswscale-dev: 这些是FFmpeg库的开发文件。FFmpeg是一个用于处理多媒体数据(如音频、视频)的开源库,这些开发文件允许其他软件项目链接到FFmpeg库并使用其功能。
当你运行这个命令时,sudo用于提供必要的超级用户权限,因为安装软件包通常需要修改系统级别的文件和目录。apt-get是Debian及其衍生发行版中用于处理软件包的命令行工具。
3.[可选 Python开发所需]
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
[含义]
python-dev: 这个包包含了Python开发所需的头文件和静态库,使得你可以编译和链接Python扩展模块。
python-numpy: NumPy是Python的一个开源数值计算扩展库,它支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
libtbb2: Intel Threading Building Blocks (TBB) 是一个广泛使用的C++并行编程库,libtbb2 是TBB的运行时库。
libtbb-dev: 这是TBB的开发文件,包含了TBB的头文件和库文件,用于编译链接TBB的C++程序。
libjpeg-dev: JPEG图像格式的开发库和头文件,用于处理JPEG图像。
libpng-dev: PNG图像格式的开发库和头文件,用于处理PNG图像。
libtiff-dev: TIFF图像格式的开发库和头文件,TIFF是一种灵活的图像文件格式,支持多种色彩、灰度、以及单色图像。
libjasper-dev: Jasper是一个用于处理JPEG-2000图像格式的库,libjasper-dev包含了开发所需的文件。
libdc1394-22-dev: 这个库提供了对IEEE 1394(也称为FireWire或i.LINK)总线接口的支持,常用于摄像头等设备的通信。
1.进入到上传的 opencv 文件夹中 创建一个用于构建的文件夹,并进入创建的文件夹
- mkdir buildDemo
- cd buildDemo
2.开始构建
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=/<你自己路径>/opencv/opencv_contrib/modules ..
[含义]
这个 cmake
命令用于配置 OpenCV(一个开源的计算机视觉库)的编译和安装过程。这条命令中包含了多个 -D
选项,用于设置 CMake 的变量,从而定制 OpenCV 的构建配置。下面是对这个命令的详细解释:
cmake
: 这是 CMake 工具的命令,用于生成项目的构建系统。
-D CMAKE_BUILD_TYPE=RELEASE
: 这个选项设置了构建类型为 RELEASE
。在 RELEASE
类型下,OpenCV 会被编译为优化过的二进制文件,不包含调试信息,通常用于生产环境。
-D CMAKE_INSTALL_PREFIX=/usr/local
: 这个选项指定了 OpenCV 安装时的目标目录。在这个例子中,安装后的文件(如库、头文件、可执行文件等)将会被放在 /usr/local
目录下。
-D WITH_GTK=ON
: 这个选项启用了 GTK 支持。GTK 是一个广泛使用的开源图形用户界面工具包,OpenCV 可以使用 GTK 来创建图形用户界面。
-D OPENCV_GENERATE_PKGCONFIG=YES
: 这个选项指示 CMake 生成 pkg-config 文件。pkg-config 是一个帮助管理库文件版本和编译参数的工具,生成的 pkg-config 文件可以用于其他项目,以便它们可以更容易地链接到 OpenCV。
-D OPENCV_EXTRA_MODULES_PATH=/<你自己路径>/opencv/opencv_contrib/modules
: 这个选项指定了 OpenCV 额外模块的路径。opencv_contrib
仓库包含了 OpenCV 的一些非核心模块,这些模块需要单独编译。这个路径应该指向包含这些额外模块的目录。
..
: 这个参数告诉 CMake 在父目录中查找 CMakeLists.txt
文件。CMakeLists.txt
文件是 CMake 项目的配置文件,其中包含了构建项目的指令和选项。
构建成功
sudo make -j4
[含义]
-j4
: 这是make
命令的一个选项。-j
选项允许make
并行执行命令。后面的数字4
表示可以同时运行的任务数,也就是并发的编译进程数。这个数字通常根据系统的CPU核心决定
查看CPU核心数
lscpu | grep "Core(s) per socket"
通常需要30-50分钟 根据配置而定
5.安装
make install
6.查找需要的依赖和jar包
- # 查找 so文件
- find / -name 'libopencv_java*'
- # 查找 jar包
- find / -name 'opencv-*.jar'
#默认会到 /usr/lib 下查找依赖 so文件,所以将libopencv_java<版本号>.so复制到 usr/lib 下
7.将jar包依赖到项目中
- <dependency>
- <groupId>org.bytedeco.javacpp-presets</groupId>
- <artifactId>opencv</artifactId>
- <version>454d</version>
- <!--一下内容必须添加-->
- <scope>system</scope>
- <!--指定jar路径-->
- <systemPath>${project.basedir}/libs/opencv-454d.jar</systemPath>
- </dependency>
- # 更新包索引:
- sudo apt-get update
- # 安装libopencv4.2-java 包:
- sudo apt-get install libopencv4.2-java
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。