qt - 在 ubuntu 18.04 上正确安装 openbr

标签 qt opencv ubuntu openbr

我一直在尝试在 ubuntu 18.04 digitalocean droplet 上安装 openbr。

这是我已经开始的最新过程:

# --opencv install and build--
# installs opencv 2.4
sudo apt-get update

sudo apt install -y \
                build-essential \
                cmake \
                git \
                pkg-config \
                libgtk-3-dev \
                libavcodec-dev \
                libavformat-dev \
                libswscale-dev \
                libv4l-dev \
                libxvidcore-dev \
                libx264-dev \
                libjpeg-dev \
                libpng-dev \
                libtiff-dev \
                gfortran \
                openexr \
                libatlas-base-dev \
                python3-dev \
                python3-numpy \
                libtbb2 \
                libtbb-dev \
                libdc1394-22-dev

mkdir ~/opencv_build && cd ~/opencv_build
git clone --single-branch --branch 2.4 https://github.com/opencv/opencv.git

cd ~/opencv_build/opencv
mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D BUILD_EXAMPLES=ON ..

make -j6

sudo make install



# --qt install--

sudo apt-get update

# Installs qt version 5.9.5 as of 1 Apr 2020
sudo apt-get install -y qt5-default libqt5svg5-dev qtcreator



# --openbr install and build--

# download & prep openbr
git clone https://github.com/biometrics/openbr.git
cd openbr
git checkout v1.1.0
git submodule init
git submodule update

# build openbr
mkdir build # from the OpenBR root directory
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j6
sudo make install

这构建到我可以测试openbr的示例的地步:
$ br -algorithm FaceRecognition -compare me.jpg you.jpg
使用任何图像运行上述行时,我收到此错误:
Set algorithm to FaceRecognition
Loading /usr/local/share/openbr/models/algorithms/FaceRecognition
Fatal: Failed to set br::Transform* br::IndependentTransform::transform to: 
  SDK Path: /usr/local
  File: 
  Function: 
  Line: 0

据我了解,这是因为我的 qt 版本错误。 Openbr 想要 5.4.1,但我最早安装的是 5.9.5。

说我的问题是如何安装 qt5.4.1 可能更正确。最后,我所追求的只是一种可靠且可重复的方式来让 openbr 在 ubuntu 18.04 上运行。

最佳答案

尝试在 Ubuntu 18 上运行 OpenBR 时遇到了同样的问题。您的诊断是正确的,它是 QT 版本问题。该修复程序已合并到 OpenBR 主 here但不在 2.4 分支上。如果您将该编辑应用于 2.4 上的内容并重新运行构建步骤,它就可以在我的盒子上运行。以下步骤:

  • 打开openbr/openbr/openbr_plugin.cpp
  • 最初,第 1620 行显示为 independent.set("transform", qVariantFromValue<void*>(transform));
  • 将其替换为 independent.set("transform", QVariant::fromValue(transform));
  • 从构建文件夹中重新运行构建步骤。

  • 希望有效。谢谢。

    关于qt - 在 ubuntu 18.04 上正确安装 openbr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61004688/

    相关文章:

    ubuntu - 在 Qt 中执行 GMT 包装脚本

    linux - 如何使用键盘将终端中的所有内容复制/粘贴到记事本?

    c++ - 无法使用外部 QOpenGLWidget 创建的上下文?

    opencv - 找不到依赖库javacv

    linux - x11 - ModuleNotFoundError : No module named 'kivy.core.window.window_x11' - Unable to run Kivy

    c++ - OpenCV/C++ 程序比它的 numpy 对应程序慢,我该怎么办?

    c++ - 如何在 Visual Studio 中使用 OpenCV 2.4 静态库?

    python - 如何从 Qtable 获取值

    python - 是否可以向 QCheckBox 添加 onclick 监听器?

    c++ - 使用带有 QStringList 指针的运算符<<