如何在arch linux上安装OpenCV

时间:2017-07-18 19:16:18

标签: java python opencv installation

我尝试使用aur包在arch上安装opencv。它已经成功安装但是当我尝试在python中导入opencv2时,我收到以下错误

ImportError: libhdf5.so.100: cannot open shared object file: No such file or directory

不仅仅是python,即使我尝试使用它运行c ++示例代码,我也遇到了同样的错误。我试过在网上搜索,发现一些人面临类似的问题,但我仍然无法修复它。

我已安装Open CV版本3.2

3 个答案:

答案 0 :(得分:5)

我终于解决了这个问题。这是一个愚蠢的,但同时令人困惑,因为有多个包具有相似的名称,但只有一个工作。此外,没有多少人在网上发布过这个问题,因此我发布了我的解决方案,希望它可以帮助节省别人的时间。

步骤1:运行此命令(如果已安装OpenCV,则为可选)

pacman -Syu base-devel opencv opencv-samples

第2步:只需安装此软件包

https://www.archlinux.org/packages/community/x86_64/hdf5/

完成!

答案 1 :(得分:2)

在版本4中,在默认配置下,编译opencv 需要hdf5vtk,但是未作为依赖项列出 的opencv

archlinux页面上的两个错误中提到了这一点:12

有2种可能的解决方法:

  1. sudo pacman -S hdf5 vtk(占用231.24 MiB的内存)
  2. 如果您的程序不需要hdf5vtk,请从-lopencv_hdf中删除-lopencv_viz/usr/lib/pkgconfig/opencv4.pc(以防程序使用{{1} }),或在编译时删除2个标记。

警告:如果使用解决方法2,则更新pkg-config程序包将还原这些更改。您可能希望将它们添加为opencv中的NoUpgrade条目(有关详细信息,请参见手册页),但是该文件将不再更新,并且可能会破坏其他内容。

答案 2 :(得分:0)

用于 opencv4

sudo pacman -Sy opencv vtk hdf5

(可选)安装Qt

sudo pacman -Sy qt5-base qtcreator qt5-doc gdb cmake

在QtCreator中创建CMake项目

粘贴以下内容

CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(opencv LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(opencv main.cpp)

find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( opencv ${OpenCV_LIBS} )

main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out <Image_Path>\n");
        return -1;
    }
    Mat image;
    image = imread( argv[1], 1 );
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}