zoukankan      html  css  js  c++  java
  • Linux下OpenCV的环境搭建

    OpenCV is the most popular and advanced code library for Computer Vision related applications today, spanning from many very basic tasks (capture and pre-processing of image data) to high-level algorithms (feature extraction, motion tracking, machine learning). It is free software and provides a rich API in C, C++, Java and Python. Other wrappers are available. The library itself is platform-independent and often used for real-time image processing and computer vision.

    1.移除先前安装的ffmpeg和x264

    1 sudo apt-get -qq remove ffmpeg x264 libx264-dev

    2.安装依赖项

    1 sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall

    有时会提示说,找不到ffmpeg软件包。

    解决方法:

    E: 软件包 gstreamer0.10-ffmpeg 没有可供安装的候选者

    好吧,装不上来,因为在Ubuntu上gstreamer0.10-ffmpeg属于额外的版权受限程序,gstreamer0.10-ffmpeg包可通过一些第三方的PPA源,但是
    所有您需要做的就是添加PPA到您的系统,更新本地存储索引和安装gstreamero.10-ffmpeg包。如下输入命令:

    sudo add-apt-repository ppa:mc3man/trusty-media
    sudo apt-get update
    sudo apt-get install gstreamer0.10-ffmpeg
    ---------------------
    作者:Jack_Kuo
    来源:CSDN
    原文:https://blog.csdn.net/weixin_37251044/article/details/78380303
    版权声明:本文为博主原创文章,转载请附上博文链接!

    3.下载并解压OpenCV

    1 wget -O OpenCV-$version.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".zip/download
    2 unzip OpenCV-$version.zip
    3 cd opencv-$version

    4.编译源码,构建OpenCV

    复制代码
    1 mkdir build
    2 cd build
    3 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
    4 make -j2
    5 sudo make install
    6 sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
    7 sudo ldconfig
    复制代码

    5.测试OpenCV是否安装成功

    转到opencv的样例代码目录(samples/c)下,

    1 chmod +x build_all.sh
    2 ./build_all.sh
    3 ./facedetect "/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" lena.jpg

     运行结果:

    编译OpenCV程序:

    复制代码
     1 #!/bin/bash
     2 echo "compiling $1"
     3 if [[ $1 == *.c ]]
     4 then
     5     gcc -ggdb `pkg-config --cflags opencv` -o `basename $1 .c` $1 `pkg-config --libs opencv`;
     6 elif [[ $1 == *.cpp ]]
     7 then
     8     g++ -ggdb `pkg-config --cflags opencv` -o `basename $1 .cpp` $1 `pkg-config --libs opencv`;
     9 else
    10     echo "Please compile only .c or .cpp files"
    11 fi
    12 echo "Output file => ${1%.*}"
    复制代码

     将上面代码保存成shell脚本,在每次编译程序时调用即可。

    如果在编译过程中出现如下错误:

    复制代码
    1 [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
    2   /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
    3   /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
    4   make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
    复制代码

    可参考:https://github.com/Itseez/opencv/commit/ea50be0529c248961e1b66293f8a9e4b807294a6

      https://www.cnblogs.com/liushaobo/p/4373956.html

  • 相关阅读:
    重谈MST及Kruskal算法
    小技巧—边权转点权
    JDOJ 1062 过路费
    总结—二分答案求解问题
    CF10D LCIS
    NOIP 2012 摆花
    SDOI 2014 旅行
    CF550C Divisibility by Eight
    CF295C Greg and Friends
    USACO Closing the Farm
  • 原文地址:https://www.cnblogs.com/mingyunrangwozoudaoxianzai/p/10839077.html
Copyright © 2011-2022 走看看