GVKun编程网logo

在Ubuntu 14.10中安装OpenCV(ubuntu20.04安装opencv)

24

如果您对在Ubuntu14.10中安装OpenCV和ubuntu20.04安装opencv感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解在Ubuntu14.10中安装OpenCV的各种细节,并

如果您对在Ubuntu 14.10中安装OpenCVubuntu20.04安装opencv感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解在Ubuntu 14.10中安装OpenCV的各种细节,并对ubuntu20.04安装opencv进行深入的分析,此外还有关于Linux(Ubuntu 18.04)中安装OpenCV + OpenCV_Contrib、OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib、ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)、ubuntu 14.04上安装opencv 2.4.13的实用技巧。

本文目录一览:

在Ubuntu 14.10中安装OpenCV(ubuntu20.04安装opencv)

在Ubuntu 14.10中安装OpenCV(ubuntu20.04安装opencv)

我试图按照指示在Ubuntu 14.10中安装OpenCV。 我安装了所有提到的依赖关系,但是当我试图运行时,我得到这样的错误:

/home/ilia/opencv-2.4.8/modules/highgui/src/ffmpeg_codecs.hpp:114:7: error: 'CODEC_ID_H261' was not declared in this scope { CODEC_ID_H261,MKTAG('H','2','6','1') }

对于所有的编解码器,我想。 而这些错误:

In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'double CvCapture_FFMPEG::getProperty(int)': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:773:33: error: 'AVStream' has no member named 'r_frame_rate' return av_q2d(video_st->r_frame_rate); ^ /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'double CvCapture_FFMPEG::get_fps()': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:820:49: error: 'AVStream' has no member named 'r_frame_rate' double fps = r2d(ic->streams[video_stream]->r_frame_rate); ^ In file included from /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg.cpp:45:0: /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp: In function 'int icv_av_write_frame_FFMPEG(AVFormatContext*,AVStream*,uint8_t*,uint32_t,AVFrame*)': /home/ilia/opencv-2.4.8/modules/highgui/src/cap_ffmpeg_impl.hpp:1236:72: error: 'avcodec_encode_video' was not declared in this scope out_size = avcodec_encode_video(c,outbuf,outbuf_size,picture); ^

它看起来像找不到一些头文件,但我安装了所有必要的开发包libswscale-dev,libavdevice-dev,libavfilter-dev,libavformat-dev,libavcodec-dev。 我该如何解决这些问题?

python vlc绑定的windows

如何在Win7 -64位安装openCV

Ububtu,opencv和链接

OpenCV SurfDescriptorExtractor根据应用程序的启动方式提取不同的点

Ubuntu 16.04 – 为什么我不能安装libtiff4-dev?

使用opencv为应用程序创build可执行文件?

在Windows 7上开始使用OpenCV 2.4和MinGW

windows,ImportError:DLL加载失败:指定的模块找不到

如何访问由openCV中的udev符号链接的摄像头

OpenCV和python / virtualenv?

除非你有特殊的原因,否则我会建议安装已经在Ubuntu存储库中的OpenCV: sudo apt-get install libopencv-dev

对于视频编解码器,我建议简单地尝试安装所有与ffmpeg和gstreamer相关的编解码器软件包。

在大多数情况下,从Ubuntu存储库安装OpenCV是一个不错的选择,但是有时候您需要自己从源代码构建OpenCV。

例如,如果您需要OpenCV的非自由功能,或者想要为这个项目做出贡献(您应该使用最新版本来创建拉取请求),或者想要改变OpenCV(是的,OpenCV也可以包含错误)。

可能的解决方案是建立ffmpeg(这是相当简单的) – 我真的不明白为什么Debian / Ubuntu更喜欢没有替代的libav。

要安装ffmpeg,你应该从官方站点或克隆GIT仓库(git://source.ffmpeg.org/ffmpeg.git)下载它的源代码,然后进入源代码目录并运行

./configure –enable-shared –disable-static

使

sudo make install

您也可以添加其他参数进行configure 。 你也可以构建静态库,但是OpenCV不能用静态ffmpeg库来构建(现在我不知道为什么)。

在此之后,您可以从OpenCV站点下载OpenCV源代码或克隆GitHub存储库( OpenCV存储库 ),创建生成文件夹并从中运行以下内容:

cmake PATH_TO_SOURCES -DCMAKE_BUILD_TYPE =发布

使

sudo make install

当然, PATH_TO_SOURCES必须是OpenCV源代码的实际路径。

完成这些步骤之后,您将在系统中使用最新的OpenCV版本。

你可以尝试建立没有ffmpeg:

cmake -DCMAKE_BUILD_TYPE=RELEASE -DWITH_FFMPEG=OFF .. make sudo make install

Linux(Ubuntu 18.04)中安装OpenCV + OpenCV_Contrib

Linux(Ubuntu 18.04)中安装OpenCV + OpenCV_Contrib

从github中down下OPenCV + OpenCV_Contrib库,可以从https://github.com/opencv上下载(注意版本对应)

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

将opencv_contrib目录移到opencv目录下

添加opencv所需要的依赖库:

Required Packages

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev(一些开发用视频解码)
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

在使用命令

    sudo apt-get install libjaster-dev

出现:errorE: unable to locate libjasper-dev时,执行

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update

 

进入opencv文件夹,打开terminal

mkdir build
cd build

cmake编译(后面的两个点不能丢)

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

make -j8

python
import cv2

如果出现"No module named cv2",请执行

sudo apt-get install python-opencv

 

OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

 

 

  近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强。好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV+OpenCV_Contrib。

  首先,准备一下开发环境:

  • Ubuntu 16.04 64位
  • cmake
  • ant
  • jdk
  • git
  • python

  接下来,从github中down下OPenCV + OpenCV_Contrib库,可以从https://github.com/opencv上下载(注意版本对应),也可以通过指令下载(建议使用):

git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git

  这个过程需要等待一段时间,具体依赖与你的网速啦,下载成功后,可以在你的home目录下看见opencv和opencv_contrib两个文件夹,将opencv_contrib目录移到opencv目录下。

  在下载的过程中,我们可以添加opencv所需要的依赖库:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

  以上步骤完成后,我们进入opencv目录,创建build目录:

mkdir build

 

  像这样:

    

  进入build目录,开始编译,执行(注意后面的两个点不能少):

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

  编译结果为:

    

  接下来,执行:

make -j8

  得到的结果为:

    

  到了这个时候,如果仅仅只需要在python或者C中使用OpenCV,就可以直接执行下一步了,如果需要在java中使用OpenCV,需要修改一些源文件。编辑features2d_manual.hpp文件,目录文件在/modules/features2d/misc/java/src/cpp中。

  具体修改:

  • 在第8行,在#include "features2d_converters.hpp"添加#include "opencv2/xfeatures2d.hpp"
  • 在第121行,将
    复制代码
    //case SIFT:
    //    name = name + "SIFT";
    //    break;
    //case SURF:
    //    name = name + "SURF";
    //    break;
    复制代码

     改为

    复制代码
    //case SIFT:
    //    fd=xfeatures2d::SIFT::create();
    //    break;
    //case SURF:
    //    fd=xfeatures2d::SURF::create();
    //    break;
    复制代码
  • 在第248行,将
    复制代码
    //case SIFT:
    //    name = name + "SIFT";
    //    break;
    //case SURF:
    //    name = name + "SURF";
    //    break;
    复制代码

     改为

    复制代码
    case SIFT:
        de = xfeatures2d::SIFT::create();
        break;
    case SURF:
        de = xfeatures2d::SURF::create();
        break;
    复制代码
  • 在第257行,将
    //case BRIEF:
    //    name = name + "BRIEF";
    //    break;

     改为

    case BRIEF:
        de = xfeatures2d::BriefDescriptorExtractor::create();
        break;
  • 在第263行,将
    //case FREAK:
    //    name = name + "FREAK";
    //    break;

     改为

    case FREAK:
        de = xfeatures2d::FREAK::create();
        break; 

   修改完毕。

  接下来,执行:

sudo make install

  编译结果为:

    

  这样,我们就可以在Ubuntu中使用OPencv了,适用于各种语言。

  我们可以在/usr/local/lib下看见opencv编译的结果:

    

  

  最后,简单说一下在各个语言下的使用:

  • python:直接导入cv2的库就可以啦
    import cv2

     这里面编译的时候要注意python2和python3的区别,python2编译的opencv在python3中是不可以使用的

  • C++:我使用的是QT,在pro文件中添加
    ?
    1
    2
    3
    4
    5
    6
    7
    INCLUDEPATH + = \
             / usr / local / include \
             / usr / local / include / opencv \
             / usr / local / include / opencv2 \
     
    LIBS + = \
         / home / fanxuan / opencv / build / lib / libopencv_java331.so \  
  • Java:我说使用的是IDEA,将opencv/build/lib目录设置在IDEA设置位jvm的运行空间即可。

 

  最后的最后,老样子,代码没有啦,大家可以看一下opencv自带的例子,或者转到www.baidu.com或者github.com。

 

  感谢外国友人https://elbauldelprogramador.com/en/how-to-compile-opencv3-nonfree-part-from-source/博客在我探索过程中给我带来的帮助。

真正的高贵不是优于别人,而是优于过去的自己!

ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)

ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)


写在前边:

据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3.0.0里边,也可以安装的时候直接把扩展模块编译进去一并安装。

1.依赖关系:

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher,including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev,python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev,libavformat-dev,libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev,libpng-dev,libtiff-dev,libjasper-dev,libdc1394-22-dev

注:官方文档中虽然说其中一些依赖包是可选的,但是最好还是都装上,以防出问题。

以上依赖包可用以下命令安装:

1
2
3
sudo apt-get install build-essential
cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

  

2.下载源码:

a.可以从OpenCV官网直接下载:http://opencv.org/downloads.html

b.也可以从github上clone:

cd~/<my_working_directory>//比如工作目录为opencv即,~/opencv
git clone https: //github .com /Itseez/opencv .git
/Itseez/opencv_contrib .git

  

3.CMake Opencv源码:

建立一个编译目录(例如:/build)把cmake后的文件都放在这里边。

/opencv
mkdir build 建立一个build目录,把cmake的文件都放着里边
build    进入build目录

  

然后开始cmake,这里需要注意几个cmake的参数,比较重要。

1
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX= /usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib /modules/ > ..


注:命令中最后的" .. "(空格+两个点)千万不要忘记

其中 CMAKE_BUILD_TYPE=Release / Debug

OPENCV_EXTRA_MODULES_PATH 就是用来指定要编译的扩展模块,后边加上刚下载的opencv_contrib模块的路径即可。

这里官方文档上还给出了其他一些参数,但是我没用过,这里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

进入上述中新建的build文件目录中,进行如下命令

eg:

[csharp] view plain copy
  1. cmake-DCMAKE_BUILD_TYPE=Release-DOPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules/-DCMAKE_INSTALL_PREFIX=/usr/local../opencv

linux文件目录结构如下

opencv

---opencv

---opencv_contrib

---build

4.把代码编译成可执行文件,这里官方推荐使用多进程编译,推荐七个进程:

make-j7# 并行运行七个jobs,这一步也在build目录中进行

  

5.安装。

sudomakeinstall

  

6.运行测试。

我是用Python+opencv的,我这里直接运行opencv自带的python的例子程序

2
<opencv3.1.0_dir> /samples/python/
python asift.py

结果:

 

参考文献:

http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

https://github.com/Itseez/opencv_contrib/blob/master/README.md


转载:http://www.cnblogs.com/asmer-stone/p/5089764.html


在使用c++语言进行运行

当运行出现如下错误时

./a.out: error while loading shared libraries: libopencv_core.so.3.1: cannot open shared object file: No such file or directory

首先进行配置:

进入终端,输入 sudo vi /etc/ld.so.conf.d/opencv.conf

然后在文件中插入以下文字

/usr/local/opencv/

输入:wq 退出

在终端中输入 sudo ldconfig 即可

http://stackoverflow.com/questions/19164343/opencv-libopencv-core-so-2-4-cannot-open-shared-object-file-no-such-file-or

然后新建文件 vi test.cpp ,在文本中输入如下代码


注: 图片和.cpp 在相同的目录下
有三种常规方式进行编译,链接和执行的。
1.使用终端命令

进行编译和链接 ,在命令行中输入

    #firstway
  1. main:main.o
  2. g++-omainmain.o-lopencv_core-lopencv_highgui-lopencv_imgproc-lopencv_imgcodecs
  3. main.o:main.cpp
  4. g++-cmain.cpp
  5. #secondway
  6. #CFLAGS=`pkg-config--cflagsopencv`
  7. #LIBS=`pkg-config--libsopencv`
  8. #%:%.cpp
  9. #g++-o$@$<$(CFLAGS)$(LIBS)

添加完成后,在当前目录先执行 eg: make main

执行完成后,输出main 文件,执行 ./main 即可

3. 使用Cmake 的方式

在当前目录中添加CMakeLists.txt 文件,在文件中添加如下内容:

copy

cmake_minimum_required(VERSION2.8)
  • PROJECT(name)
  • find_package(OpenCVrequired)
  • set(NAME_SRC
  • ./main.cpp
  • )
  • #set(NAME_HEADERS
  • #include/header.h
  • #)
  • INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
  • link_directories(${CMAKE_BINARY_DIR}/bin)
  • set(EXECUTABLE_OUTPUT_PATH${CMAKE_BINARY_DIR}/bin)
  • #add_executable(name${NAME_SRC}${NAME_HEADERS})
  • add_executable(name${NAME_SRC})
  • target_link_libraries(name${OpenCV_LIBS})

  • 添加完成后,在当前目录中新建一个build目录,mkdir build,

    然后切换到build目录中,使用 cd build

    在build文件夹目录中 执行cmake 命令,使用示例如下:

    cmake .. // .. 代表上一级目录 ,

    make

    执行完成后,会有bin 目录生成,进入bin目录,cd bin

    发现有 name 文件

    执行 ./name 命令即可。

    ubuntu 14.04上安装opencv 2.4.13

    ubuntu 14.04上安装opencv 2.4.13

    1、下载opencv2.4.13的.zip包

    http://opencv.org/downloads.html

    2. 解压到任意目录

    [plain] view plain copy
    1. unzipopencv-2.4.13.zip

    3.在解压后的目录里创建一个release

    cdopencv-2.4.13

  • mkdirrelease
  • 3. 安装一些必要的依赖库(pkg-config非必须)

    sudoapt-getinstallbuild-essentialcmakelibgtk2.0-devpkg-configPython-devpython-numpylibavcodec-devlibavformat-devlibswscale-dev

    今天关于在Ubuntu 14.10中安装OpenCVubuntu20.04安装opencv的介绍到此结束,谢谢您的阅读,有关Linux(Ubuntu 18.04)中安装OpenCV + OpenCV_Contrib、OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib、ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)、ubuntu 14.04上安装opencv 2.4.13等更多相关知识的信息可以在本站进行查询。

    本文标签: