首页 > 系统相关 >ubuntu编译opencv

ubuntu编译opencv

时间:2023-11-21 20:56:01浏览次数:42  
标签:cmake 编译 ubuntu dev opencv ippicv libgstreamer plugins

1. 下载opencv和opencv-contrib
https://github.com/opencv/opencv/archive/refs/tags/4.6.0.zip
https://github.com/opencv/opencv_contrib/archive/refs/tags/4.6.0.zip


2. 安装依赖
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libgtk-3-dev libgtkglext1-dev libgstreamer1.0-dev libavresample-dev  libgphoto2-dev libopenblas-dev libatlas-base-dev doxygen libgstreamer-ocaml-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer1.0-dev libgstreamermm-1.0-dev libtesseract-dev liblept5 libleptonica-dev liblapacke-dev libgstreamer-opencv1.0-0 libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamerd-3-dev libgstreamermm-1.0-dev libv4l-dev libprotobuf-dev libhdf5-dev libgflags-dev python3-numpy

3. cmake
    cd opencv-4.6.0/
    mkdir release
    cd release/
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv460 -D OPENCV_EXTRA_MODULES_PATH=/home/zxq/code/c++/opencv_contrib-4.6.0/modules ..
结果如下

 

异常情况如下:

a.编译过程中会下载IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz,由于网络问题,经常下载失败

    解决方法:

    手动下载:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
    可放在默认的下载路径 ~/DownLoad/
    修改opencv里相关配置文件
  或sudo wget   https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
#保存在一个路径里面,这个路径自定义即可。
vim ~/opencv/3rdparty/ippicv/ippicv.cmake #就是这个文件的路径
# 将47行的
     "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/"
# 改为步骤1中手动下载的文件的本地路径(也就是将网络下载的模式改为本地文件下载的模式):
    "file:~/Downloads/" #(仅供参考,根据自己的路径填写)

保存完后,重新cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …

b. opencv2/core/videoio.h ,opencv constants_c.h: 没有那个文件或目录

直接在代码中注释掉即可


4. make
make -j8


5. 安装
sudo make install
 结果如下。
 右上可知,opencv被安装在/usr/local/opencv460/


6. 配置opencv的路径
    sudo gedit /etc/ld.so.conf.d/opencv.conf
    添加内容:
    /usr/local/opencv460/lib
    再sudo一下使配置路径生效
    sudo ldconfig


7. 测试
cd到opencv测试用例目录。

    cd samples
    cd cpp
    cd example_cmake
    cmake .
8.运行测试程序
    make
    ./opencv_example
结果如下。


出现这个弹窗,说明安装成功。

标签:cmake,编译,ubuntu,dev,opencv,ippicv,libgstreamer,plugins
From: https://www.cnblogs.com/jimchen1218/p/17847579.html

相关文章

  • ubuntu在睡眠恢复后自动加载gpu驱动模块的方法:
    我的ubuntu18,睡眠唤醒后,gpu通讯会出现问题。因此我写了一个脚本,唤醒后执行。就可以继续我的gpu实验了。如果nvidia_uvm被占用的话,还需要停止占用内核的jupyternotebook。重新加载cuda驱动(py37)dn@SSD-Panson:~$cat10_resume_from_sleep.sh#应对ubuntu睡眠唤醒后无法与gpu......
  • 【Python】【OpenCV】视频帧和摄像头帧操作 and 窗口显示
    一、读取写入视频文件1importcv223#创建一个视屏捕获对象4videoCapture=cv2.VideoCapture('AVI.avi')56#获取视频的属性值,cv2.CAP_PROP_FPS获取视频帧率7fps=videoCapture.get(cv2.CAP_PROP_FPS)89#cv2.CAP_PROP_FRAME_WIDTH/HEIGHT返回floa......
  • VMware Ubuntu 22.x.x ens33消失,不可用
    点击更改设置网段可自行修改,88可以改其他的,使用的时候统一即可,然后启用确定,不会照抄修改主机的VMnet8网关的网段和刚才的设置要相同,后续地址可以随意设置,但是不能和其他配置冲突,参考如下设置即可,dns选择合适的即可不会配置的直接照抄,保存后不要随意修改该配置,否则可能导致......
  • 在Linux中快速编译出带图标的windows程序
    1.摘要以前做的一个项目有个需求,需要在Linux系统上的服务后端根据前端配置动态编译出能在Windows平台运行的程序,并且能支持程序带图标,虽然使用Go语言能够方便的编译跨平台运行的代码,但编译带资源图标的Windows可执行程序还未尝试过,本篇文章对这部分内容做一个过程记录......
  • 64位ubuntu运行32位.s
    要在64位Ubuntu系统上使用gcc生成32位的.s文件,您可以使用以下步骤:1.确保您的系统已安装32位的gcc工具链。在终端中运行以下命令以安装所需的软件包:点击查看代码sudoapt-getupdatesudoapt-getinstallgcc-multilib2.编写您的C代码文件,假设文件名为example.c。......
  • 编译nginx使用systemctl 开启关闭脚本
    [Unit]Description=nginx-highperformancewebserverDocumentation=http://nginx.org/en/docs/After=network-online.targetremote-fs.targetnss-lookup.targetWants=network-online.target[Service]Type=forkingPIDFile=/apps/nginx/logs/nginx.pidExecStart......
  • GCC常用编译选项及内置宏
    1.__has_include__has_include是一个C++17标准定义的宏,它的用途是检查指定的文件是否存在,从而决定是否继续编译。它可以在头文件包含中使用,这样编译器就可以根据它的返回值来决定是否继续编译,从而提升编译的效率。用法示例:#ifdefined__has_include#if__has_include......
  • Init ubuntu for cpp dev
    sudoaptupdate;sudoaptupgrade-y;wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb;sudodpkg-igoogle-chrome-stable_current_amd64.deb;sudosnapinstall--classiccode;sudoaptinstallgcc-13g++-13-y;sudoaptinstall......
  • Centos7编译安装Python
    Centos7编译安装Python环境准备操作系统:Centos7版本:Python3.12下载wgethttps://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz编译安装#安装依赖yum-yinstallgcczlibzlib-devellibffilibffi-develreadline-developenssl-developenssl11openssl......
  • Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu
    E:仓库“http://ppa.launchpad.net/chris-lea/node.js/ubuntubionicRelease”没有Release文件。一条命令解决sudoadd-apt-repository--removeppa:chris-lea/node.jssudoadd-apt-repository--removeppa:xxxxx/xxxxx再去执行sudoapt-getupdate就可以顺利的解决了......