24小时二手表网站,天津网站运营,wordpress 同类文章,做什么网站最赚钱最近在业余时间学习了一些有关图像处理的代码#xff0c;但是只能本地处理#xff0c;满足不了将来开放远程服务的需求。 因此#xff0c;查找并参考了一些资料#xff0c;成功在centos7环境安装上了opencv 460。 下面上具体安装步骤#xff0c;希望能帮到有需要的同学。 …最近在业余时间学习了一些有关图像处理的代码但是只能本地处理满足不了将来开放远程服务的需求。 因此查找并参考了一些资料成功在centos7环境安装上了opencv 460。 下面上具体安装步骤希望能帮到有需要的同学。
1、基础环境安装
# 安装 SCL 源
yum install -y centos-release-scl # 安装 gcc8 g8
yum install -y devtoolset-8-gcc*#设置环境变量
echo source /opt/rh/devtoolset-8/enable /etc/profile#使环境变量生效
source /etc/profile#查看版本
gcc --version
g --version# 安装 python3 及后续所需工具安装 Python 3.6.8 也可以安装指定版本。官网地址: https://www.python.org
yum install -y python3 python3-devel python3-libs python3-tools wget unzip vim#安装升级 python-pip
python3 -m ensurepip
python3 -m pip install --upgrade pip#查看版本
python3 -V#安装 cmake-3.20.0 cmake 必要依赖 openssl
yum install -y openssl openssl-devel#获取CMake源码包
wget -O cmake-3.20.0.tar.gz https://cmake.org/files/v3.20/cmake-3.20.0.tar.gz#解压CMake源码包
tar -zvxf cmake-3.20.0.tar.gz#进入目录注意以下目录需要和自己实际目录对应
cd /root/cmake-3.20.0/#进行配置
./bootstrap --prefix/usr/local/cmake#编译安装
make make install#配置CMake环境变量
vim /etc/profile#在文件末尾添加以下内容
export PATH/usr/local/cmake/bin:$PATH#保存并退出 使配置生效
source /etc/profile#如果环境变量配置错误会导致所有命令失效此时可以用以下指令修改删除错误参数
/bin/vi /etc/profile#如果centos7.x 报错可以尝试以下方法不报错则自动忽略即可/usr/libexec/grepconf.sh: line 5: grep: command not foundexport PATH/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/binsource#查看CMake版本信息
cmake --version2、配置opencv
#安装 opencv 依赖 如果需要生成 Java 相关的 .jar .so 。ant 依赖必要安装
yum install -y zlib-devel ant opencv-python libjpeg-turbo-devel libpng-devel libtiff-devel jasper-devel# 查看已安装的jdk包装完以后,你会发现他会给你装个 open-jdk1.8建议卸载掉
rpm -qa | grep jdk
# 删除对应jdk软件包 xxx 为软件包名称 rpm -e --nodeps xxx 参考
rpm -e --nodeps copy-jdk-configs-3.3-11.el7_9.noarch java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64 java-1.8.0-openjdk-headless-1.8.0.382.b05-1.el7_9.x86_64 java-1.8.0-openjdk-devel-1.8.0.382.b05-1.el7_9.x86_64#下载 opencv 源码包
wget -O opencv.zip https://ghproxy.com/https://github.com/opencv/opencv/archive/refs/tags/4.6.0.zip
wget -O opencv_contrib.zip https://ghproxy.com/https://github.com/opencv/opencv_contrib/archive/refs/tags/4.6.0.zip #解压下载完成的源码包注意源码包存放的具体位置要和自己环境一致
unzip opencv-4.6.0.zip
unzip opencv_contrib-4.6.0.zip#创建并进入 build 目录
cd opencv-4.6.0 mkdir build cd build#cmake 进行参数配置注意源码包存放的具体位置要和自己环境一致
cmake -D CMAKE_BUILD_TYPERELEASE -D CMAKE_INSTALL_PREFIX/usr/local -D OPENCV_GENERATE_PKGCONFIGON -D OPENCV_EXTRA_MODULES_PATH/workstation/opencv_contrib-4.6.0/modules -D ENABLE_CXX11ON -D WITH_1394OFF -D BUILD_opencv_xfeatures2dOFF -D BUILD_SHARED_LIBSOFF -D BUILD_TESTSOFF ..cmake参数说明
-D CMAKE_BUILD_TYPERELEASE 编译发布版本
-D CMAKE_INSTALL_PREFIX/usr/local 编译后的安装主目录
-D OPENCV_GENERATE_PKGCONFIGON 这个是生成pkg-config的命令默认是不生成的(OFF)
-D OPENCV_EXTRA_MODULES_PATH/opt/opencv_contrib-4.4.0/modules 这个就是拓展包中附加模块路径,这个地址需要自定义
-D ENABLE_CXX11ON C版本支持
-D WITH_1394OFF 这个好像要加些依赖关掉。不关也没关系
-D BUILD_opencv_xfeatures2dOFF 这里要重点说一下在附件模块opencv_contrib-4.4.0/modules里面有很多目录如果有些你不想要就关掉。比如xfeatures2d这个就导致我编译不过我又不用直接关掉。
-D BUILD_SHARED_LIBSOFF 这个重点说就是让依赖库变成一个SO而不是很多SO。这个SO就是java的jni要用的。
-D BUILD_TESTSOFF .. 关掉测试提高编译效率减少时间。 配置完成后可以看到以下信息 – Configuring done – Generating done – Build files have been written to: /root/opencv-4.6.0/build PS可能会有下载失败的文件输出依然显示完成。如果您对 opencv 熟悉可以更换安装包默认的下载链接或者懂得 github 加速可能不会有此问题。
查看 CMakeDownloadLog.txt 检查下载文件是否都下载完成。如果日志有下载失败的文件只需到该目录重新下载文件即可。下载失败示例
对于在线下载失败的文件我后面其实也没下载后续编译依然可以通过。
#查看下下载失败的文件
vim /workstation/opencv-4.6.0/build/CMakeDownloadLog.txt # 进入 ippicv 目录手动下载替换下载失败的文件。其他失败文件也是按照此方法。
cd /root/opencv-4.6.0/.cache/ippicv# 下载 ippicv 文件
wget -O 7421de0095c7a39162ae13a6098782f9-ippicv_2020_lnx_intel64_20191018_general.tgz https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz3、编译opencv
#修复完成构建日志中下载失败的所有文件后 查看内核数
nproc#进入目录
cd /workstation/opencv-4.6.0/build#输出 8 表示系统是 8核使用 8 线程编译我实际是2核
make -j2#编译完成后出现下图所示
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/cpu/gapi_imgproc_perf_tests_fluid.cpp.o
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/cpu/gapi_video_perf_tests_cpu.cpp.o
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/gpu/gapi_core_perf_tests_gpu.cpp.o
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/gpu/gapi_imgproc_perf_tests_gpu.cpp.o
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/internal/gapi_compiler_perf_tests.cpp.o
[ 98%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/perf_bench.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/perf_main.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/render/gapi_render_perf_tests_ocv.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_perf_gapi.dir/perf/streaming/gapi_streaming_source_perf_tests.cpp.o
[100%] Linking CXX executable ../../bin/opencv_perf_gapi
[100%] Built target opencv_perf_gapi4、安装opencv
#安装
make install #opencv 默认会到 /usr/lib 目录下查找依赖所有将 libopencv_java460.so复制到 usr/lib
# 如果不知道 libopencv_java460.so 在哪可以使用 find 命令进行查找
find / -name libopencv_java*
# 拷贝到 /usr/lib后续在程序运行过程中如果出现占so库用错误执行以下命令即可解决
cp /usr/local/share/java/opencv4/libopencv_java460.so /usr/lib
cp /usr/local/share/java/opencv4/libopencv_java460.so /usr/lib#将链接文件 opencv4.pc 文件指向 /usr/share/pkgconfig 目录的文件并运行 ldconfig 以重建库缓存
# 将 /usr/local/lib64/pkgconfig/opencv.pc 链接到 /usr/share/pkgconfig/
ln -s /usr/local/lib64/pkgconfig/opencv.pc /usr/share/pkgconfig/# 使链接生效
ldconfig#添加环境变量
echo export PKG_CONFIG_PATH$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig /etc/profile
echo export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/usr/local/lib64 /etc/profile# 使环境变量生效
source /etc/profile至此opencv编译安装完成。编写程序检测效果图如下
java -jar TopenCv.jar