Opencv 源码编译以及调用相关

这篇具有很好参考价值的文章主要介绍了Opencv 源码编译以及调用相关。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查看Ubuntu上面已经安装的opencv的版本

pkg-config --modversion opencv

源码编译

  • 源码下载, 注意其中的batch, 选择一致。
git clone https://github.com/opencv/opencv.git
# 下面的仓库为第三方库,可以根据需要选择
git clone https://github.com/opencv/opencv_contrib.git

openEuler上源码安装

  • 安装依赖
sudo dnf install eigen3
sudo dnf install cmake g++

比较简单的编译选项

mkdir build 
cd build 

cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_PYTHON_EXAMPLES=OFF \
        -D INSTALL_C_EXAMPLES=OFF \
        -D OPENCV_ENABLE_NONFREE=ON \
        -D BUILD_NEW_PYTHON_SUPPORT=ON \
        -D OPENCV_GENERATE_PKGCONFIG=ON \
        -D OPENCV_PC_FILE_NAME=opencv4.pc \
        -D WITH_TBB=ON \
        -D ENABLE_FAST_MATH=1 \
        -D CUDA_FAST_MATH=1 \
        -D WITH_CUBLAS=1 \
        -D WITH_CUDA=ON \
        -D BUILD_opencv_cudacodec=OFF \
        -D WITH_CUDNN=OFF \
        -D OPENCV_DNN_CUDA=OFF \
        -D CUDA_ARCH_BIN=7.5 \
        -D WITH_V4L=ON \
        -D WITH_QT=OFF \
        -D WITH_OPENGL=ON \
        -D WITH_QT=OFF \
        -D WITH_GSTREAMER=OFF \
        -D WITH_FFMPEG=OFF \
        -D WITH_OPENCL=ON \
        -D OPENCV_ENABLE_NONFREE=ON \
        -D ENABLE_PRECOMPILED_HEADERS=YES \
        -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \
        -D BUILD_EXAMPLES=OFF ..

cmake --build ./ -j

#安装的路径为指定的 CMAKE_INSTALL_PREFIX=/usr/local 路径 
cmake --install ./


# 在aarch 64 上面指定相关的编译选项
cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_PYTHON_EXAMPLES=OFF \
        -D INSTALL_C_EXAMPLES=OFF \
        -D OPENCV_ENABLE_NONFREE=ON \
        -D BUILD_NEW_PYTHON_SUPPORT=OFF \
        -D OPENCV_GENERATE_PKGCONFIG=ON \
        -D OPENCV_PC_FILE_NAME=opencv4.pc \
        -D WITH_TBB=OFF \
        -D ENABLE_FAST_MATH=1 \
        -D CUDA_FAST_MATH=1 \
        -D WITH_CUBLAS=OFF \
        -D WITH_CUDA=OFF \
        -D BUILD_opencv_cudacodec=OFF \
        -D WITH_CUDNN=OFF \
        -D OPENCV_DNN_CUDA=OFF \
        -D WITH_V4L=ON \
        -D WITH_QT=OFF \
        -D WITH_OPENGL=ON \
        -D WITH_QT=OFF \
        -D WITH_GSTREAMER=OFF \
        -D WITH_FFMPEG=OFF \
        -D WITH_OPENCL=ON \
        -D ENABLE_PRECOMPILED_HEADERS=YES \
        -D EIGEN_INCLUDE_PATH=/usr/include/eigen3 \
        -D BUILD_EXAMPLES=OFF ..

关于其中的 -j 选项说明

关于-j选项的几点说明:
1. -j后跟的数字表示要使用的最大线程数。CMake会根据系统 cpu 核数和其他限制自动确定实际要使用的线程数。
2. 如果不指定-j,CMake会自动根据系统环境设置默认的线程数。通常等于cpu核数加一。
3. 指定的最大线程数-j值不代表CMake一定会使用指定数量的线程。它会根据项目设置、依赖关系等因素自动调节实际使用的线程数,但不会超过指定的最大值。
4. -j的值设置得太高不一定能提高构建速度,反而可能对I/O造成压力而降低效率。通常设置为cpu核数的1-2倍就可以达到较好的效果。
5. 在多核系统下,合理设置-j值可以充分利用cpu并行能力,提高构建速度。但在单核系统下,设置-j反而可能延长构建时间,推荐省略-j选项让CMake自动判断。

选定视频编解码框架编译到opencv中

安装gstreamer
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio


# 检查安装
pkg-config --cflags --libs gstreamer-1.0
安装ffmpeg
sudo apt install ffmpeg
sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev
编译配置
cd opencv
mkdir buildcd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF \
-D PYTHON_EXECUTABLE=$(which python2) \
-D BUILD_opencv_python2=OFF \
-D PYTHON3_EXECUTABLE=$(which python3) \
-D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-D PYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules/ \
-D WITH_GSTREAMER=ON \
-D WITH_FFMPEG=ON \
-D WITH_CUDA=ON \
 ..

查看已经安装的opencv库的编译选项

import cv2
print(cv2.getBuildInformation())

关于OpenGL的软件包的支持

sudo apt install mesa-utils
glxinfo | grep OpenGL

Opencv 源码编译以及调用相关文章来源地址https://www.toymoban.com/news/detail-504925.html

可以参考的编译脚本

  • https://github.com/opencv/opencv/issues/22132

到了这里,关于Opencv 源码编译以及调用相关的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++调用matlab编译动态库方法及相关问题解决

    matlab与C/C++混合编程——在Windows/Linux上调用Matlab编译的动态库文件 1.1.1、功能 把matlab代码编译成动态库,C++调用matlab生成的动态库 1.1.2、参考链接 C++ Dll导出及python调用C++ DLL 1.1.3、matlab编译动态库方法 1、切换到“App”菜单; 2、选择下拉框,在下拉框中输入lib进行筛选;

    2024年02月01日
    浏览(40)
  • ubuntu查看opencv的版本

    ctrl+alt+t 呼出终端,输入下面命令,查看版本: 没有安装OpenCV的同学:Ubuntu20.04安装OpenCV3.4.5(两种方法图文详解) 在难以忍受的情况下克制自己,上天必定会降给他们丰厚的福泽。

    2024年02月16日
    浏览(35)
  • 详述C++ 调用opencv编译成dll并调用的全过程

     其中,extern \\\"C\\\":告诉编译器将被它修饰的代码按C语言的方式进行编译。             __declspec(dllexport):告诉编译器和链接器被它修饰的函数或变量需要从DLL导出,以供其他应用程序使用;与其相对的还有一句代码是__declspec(dllimport),此修饰符的作用是告诉编译器和链接

    2024年02月04日
    浏览(52)
  • Ubuntu 安装编译 opencv

    配置 Ubuntu 镜像源 由于部分镜像源并没有将软件包的版本更新到最新,国外官方镜像源访问与下载速度较慢,所以需要更新镜像源为以下几种: 阿里镜像源 清华大学镜像源 163镜像源 中科大镜像源 系统可以同时包括四种镜像源,确保能够及时搜索到所有的软件的最新版本 环

    2024年02月08日
    浏览(42)
  • ubuntu下简单编译opencv

    开始编译前,先把anaconda关闭,我关闭的方式是,修改anaconda文件夹名称。    编译安装opencv后,再改回来即可。 编译成功:   安装成功: 可以看到opencv头文件安装路径是  /usr/local/include/opencv4/opencv2 库目录是 /usr/local/lib 参考: 视觉SLAM十四讲学习1 环境配置_视觉slam十四讲

    2024年02月11日
    浏览(36)
  • OPENCV 编译选项以及解释

    cmake编译以及模块介绍,后面遇到没有的会继续再补充 CMAKE_BUILD_TYPE:指定构建类型,如Debug、Release等。 CMAKE_INSTALL_PREFIX:指定安装目录。 BUILD_SHARED_LIBS:设置为ON时,构建共享库;设置为OFF时,构建静态库。 BUILD_WITH_STATIC_CTR:当为ON是,构建静态运行时库(MT/MTd),设置为

    2024年02月06日
    浏览(35)
  • 【运维】Ubuntu,如何在Ubuntu系统中编译和安装OpenCV, apt安装OpenCV

    在C++开发中,使用OpenCV是一个常见的需求。您可以选择使用conan构建包,或者直接将OpenCV安装到系统中。官方文档提供了详细的教程,可以在这里找到:OpenCV官方文档 然而,在这里我们将演示一种自己的安装方法,逐步进行操作: 步骤1:更新系统 在安装任何软件之前,请确

    2024年01月23日
    浏览(53)
  • cesium源码编译调试及调用全过程

    完整记录一次cesium源码从下载、打包、调用、调试的全过程。 本文使用软件或API版本: VSCode Node:12.18.3 cesium版本:1.94 总体步骤: 下载源码 执行npm install和npm start启动web服务 打包源码(npm run combine打包前可以先将申请到的cesium的token更改到ion.js文件中的默认值中) 运行测试

    2023年04月21日
    浏览(38)
  • Opencv静态库,编译和调用静态库,静态库链接另一个静态库

    静态库相比动态库更加独立,在生成和部署应用到相关设备的时候避免找不到动态库 Windows下静态库 lib后缀,动态库dll linux下静态库a后缀,动态库so 首先安装依赖库 以opencv4.5为例 下载地址,下载 source 源码 解压后目录如下 进入源码 完成后,在build目录下会生成install文件夹

    2024年02月07日
    浏览(39)
  • 写代码,编译代码,执行代码以及相关的java的基础语法

    在黑窗口 输入javac 文件名字 在黑窗口 输入java 文件.class名字 我们可以把常说的bug说成甲虫,因为bug就是从甲虫来的 黑窗口一般报了这个错误代表的是英文符号的写成中文的 说明你的程序包对象写的并不对,一般大小写出现错误导致,比如System写成system 用Notepad软件可以发现

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包