在 CentOS 中安装 OpenCV

use*_*692 8 centos yum opencv

我正在尝试在 CentOS 6 中安装 OpenCV。当我运行命令时

[root@cosmas opt]# sudo yum install libtiff4-dev libjpeg-dev libjasper-dev
Run Code Online (Sandbox Code Playgroud)

它返回以下内容:

Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
 * epel: mirror.fraunhofer.de
 * rpmforge: nl.mirror.eurid.eu
Setting up Install Process
No package libtiff4-dev available.
No package libjpeg-dev available.
No package libjasper-dev available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

我做错了什么?谁能帮我?

Sco*_*ott 13

我只是在 CentOS 6 上进行了相同的安装。由于安装说明更适合 Ubuntu,因此我可以通过以下方式安装它:

  1. 使用 yum 安装所有必需的包

    yum groupinstall "Development Tools" 
    yum install gcc 
    yum install cmake 
    yum install git
    yum install gtk2-devel
    yum install pkgconfig 
    yum install numpy 
    yum install ffmpeg
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建工作目录并查看源代码 [注意:您可能不想再使用下面的标签,因为它是一个非常旧的版本。由于我的软件需要它,我不得不使用该版本。]

    mkdir /opt/working
    cd /opt/working
    git clone https://github.com/Itseez/opencv.git
    cd opencv
    git checkout tags/2.4.8.2
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建生成文件

    mkdir release
    cd release
    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果使用 cmake 版本 2.6-patch 4(使用 cmake --version 检查),那么您需要在构建中注释掉一行。注释掉 /opt/working/opencv/cmake/cl2cpp.cmake 中第 50 行的 string(MD5 hash "${lines}")。其他选项(包括更新 cmake)可以在这里找到。

  5. 构建和安装

    cd /opt/working/opencv/release
    make
    make install
    
    Run Code Online (Sandbox Code Playgroud)

  • 我尝试在 Centos 6.3 中安装 opencv。但我仍然收到“ImportError: No module named cv2”的错误消息。我需要为 cv2 安装一些额外的包吗? (2认同)

小智 2

sudo yum search all --enablerepo=epel libtiff4-dev libjpeg-dev libjasper-dev

给-

libjpeg-devel.x86_64 : Development tools for programs which will use the libjpeg library
Warning: No matches found for: libtiff4-dev
Warning: No matches found for: libjasper-dev
Run Code Online (Sandbox Code Playgroud)

这让我认为你的包名称错误。您确定这些不是 debian 软件包名称吗?

无论如何,同时您可以通过libjpeg-devel.x86_64-

sudo yum install --enablerepo=epel libjpeg-dev