AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1145387
Accepted
Riyaad Azad
Riyaad Azad
Asked: 2019-05-23 06:57:14 +0800 CST2019-05-23 06:57:14 +0800 CST 2019-05-23 06:57:14 +0800 CST

如何在 Bionic Beaver 18.04 LTS 中安装具有人脸检测功能的 Shotwell

  • 772

我正在从 Google Photos 过渡,我真的很喜欢 Shotwell 的功能。但是,由于我管理照片的方式,人脸检测/识别对我来说非常重要。我查看了这篇博客文章,该文章显然展示了如何做到这一点,但由于我不是该领域的专家,所以 IMO 非常模糊。我尝试这样做,meson build但是我手动安装了大量依赖项(也许不应该这样做?)其中一个搞砸了我的 apt 系统(我通过删除软件应用程序中的所有其他软件来解决这个问题,并且进行 dist-upgrade 删除不必要的包和依赖项)。

是否有更详细的分步指南来执行此操作?我真的很喜欢 Shotwell,但我必须拥有人脸检测功能(我知道它处于测试阶段,但我看到一个视频证明它有效)。

(我知道我可以使用 digiKam,但我真的很喜欢 Shotwell!)

shotwell opencv
  • 2 2 个回答
  • 2516 Views

2 个回答

  • Voted
  1. tatsu
    2019-05-23T07:22:56+08:002019-05-23T07:22:56+08:00

    这是你可以做的:

    # Downloads will be our workspace
    cd ~/Downloads
    
    # prepare the terrain by removing unwanted divs
    sudo apt remove shotwell gir1.2-gexiv2-0.11 -y
    # install dependencies (takes about 30 mins to complete)
    sudo apt install unzip meson valac libgphoto2-dev libgudev-1.0-dev \
    libgee-0.8 libgtk-3-dev gir1.2-gexiv2-0.10 libgexiv2-2 libwebkit2gtk-4.0 \
    libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev \
    gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc \
    gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 \
    gstreamer1.0-qt5 gstreamer1.0-pulseaudio libraw-dev build-essential \
    build-essential checkinstall cmake pkg-config yasm gfortran gstreamer1.0-tools \
    libjpeg8-dev libpng-dev software-properties-common libjasper1 libtiff-dev \
    libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev \
    libv4l-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev \
    libtbb-dev qt5-default libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev \
    libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev \
    libavresample-dev x264 v4l-utils libprotobuf-dev protobuf-compiler \
    libgoogle-glog-dev libgflags-dev libgphoto2-dev libeigen3-dev libhdf5-dev \
    doxygen python3-dev python3-pip \
    -y
    # install one package via pip
    sudo -H pip3 install -U pip numpy
    # continue install now that pip deps are met
    sudo apt -y install python3-testresources
    
    # python virtualenv creation
    cd
    python3 -m venv opencv-4.1.0-py3
    source ~/opencv-4.1.0-py3/bin/activate
    # now install python libraries within this virtual environment
    pip install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib
    # quit virtual environment
    deactivate
    
    # some post install
    cd /usr/include/linux
    sudo ln -s -f ../libv4l1-videodev.h videodev.h
    cd ~/Downloads
    
    # fulfill opencv 4.1 dependency by building from source
    # this won't work yet, working off of :
    # https://www.learnopencv.com/install-opencv-4-on-ubuntu-18-04/
    sudo apt build-dep opencv
    cd ~/Downloads
    wget -O opencv-4.1.0.zip https://github.com/opencv/opencv/archive/4.1.0.zip
    unzip -q opencv-4.1.0.zip
    cd opencv-4.1.0/build
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D WITH_TBB=ON \
    -D WITH_V4L=ON \
    -D OPENCV_PYTHON3_INSTALL_PATH=~/opencv-4.1.0-py3/lib/python3.5/site-packages \
    -D WITH_QT=ON \
    -D WITH_OPENGL=ON \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..
    make -j4
    make install
    cd build
    cmake ..
    cmake --build . --config Release
    # still need to move built binary to usable space and declare it system-wide
    
    # No idea how to do DNN models
    # !!!
    
    # fulfill exiv2 0.27 dependency by building from source
    sudo apt build-dep exiv2
    cd ~/Downloads
    wget https://www.exiv2.org/builds/exiv2-0.27.1-Source.tar.gz
    tar xf exiv2-0.27.1-Source.tar.gz
    cd exiv2-0.27.1-Source/
    cmake .
    make
    sudo make install
    
    # fulfill libgexiv2-dev 0.12 dependency by building from source
    sudo apt build-dep libgexiv2-dev
    cd ~/Downloads
    wget http://ftp.gnome.org/pub/GNOME/sources/gexiv2/0.12/gexiv2-0.12.0.tar.xz
    tar xf gexiv2-0.12.0.tar.xz
    cd gexiv2-0.12.0/
    meson build
    cd build
    sudo meson install
    
    # final build of shotwell with face detection
    sudo apt build-dep shotwell
    cd ~/Downloads
    wget https://gitlab.gnome.org/nma83/shotwell/
    \-/archive/wip/faces/shotwell-wip-faces.tar.gz
    tar xzf shotwell-wip-faces.tar.gz
    cd shotwell-wip-faces
    meson configure -Dface-detection=true
    meson build
    cd build
    sudo meson install
    

    注意:我的帖子是 WIP,编辑将被接受。

    更新:我失去了希望,我不知道如何安装 opencv 以及如何从 OpenFace 获取提到的 DNN 模型。

    • 3
  2. Best Answer
    Riyaad Azad
    2019-05-24T17:18:41+08:002019-05-24T17:18:41+08:00

    这更像是一种解决方法,但可以通过安装 Shotwell 的 Unstable flatpak 以几个简单的步骤使面部功能正常工作(我知道是因为我现在很高兴使用它!)。

    脚步:

    1. 安装 Flathub
    2. 转到官方Shotwell 构建和安装页面
    3. 单击“安装不稳定”按钮
    4. 复制当前页面的 URL(链接)(单击按钮后)。截至撰写本文时,链接为:“ https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref ”
    5. 启动您的终端并运行flatpak install https://gitlab.gnome.org/GNOME/shotwell/raw/master/flatpak/org.gnome.Shotwell.unstable.flatpakref(您可能需要 sudo 管理员权限 - 我显然不必输入我的 sudo 密码 - 您需要通过键入来接受安装提示y)
    6. 等等...(耐心是一种美德:-))
    7. 单击“显示应用程序”按钮,然后单击“(不稳定)Shotwell”
    8. 瞧!导入一些图像,选择一个图像,并享受你的成功 - 底部栏中新的“Faces”选项(注意:当我安装不稳定版本时,它删除了稳定版本,所以现在我只有 Unstable Shotwell -但至少有面部检测耶!!!)

    注意:当然,由于此功能仍然是 WIP,Shotwell 可能会认为您的窗帘是一张脸(或者就此而言,您的门),并且没有明显的选项可以扫描您的照片库并自动标记人脸,但是嘿- 至少它在那里!

    • 3

相关问题

  • 如何让 Shotwell 重新生成所有缩略图?

  • 如何删除 shotwell 中的事件?

  • 如何更改 Shotwell 键盘快捷键?

  • 如何设置 Shotwell 以进行多用户访问?

  • 为什么在 Ubuntu 10.10 中 F-Spot 被 Shotwell 取代?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve