我正在嘗試將 pnp 求解器添加到我正在使用 ubuntu 作業系統的 opencv 中。首先,我遵循了有關如何通過克隆存盤庫從源代碼安裝 opencv 的教程,然后我測驗了該示例并且它作業正常,因此它成功編譯和安裝。我開始添加我的檔案,并確保沒有重復名稱并且所有檔案都已添加,因此依賴關系沒有問題。然后我再次運行 cmake,并運行 make 命令,但它給了我以下錯誤:-
opencv/modules/calib3d/src/RansacOptimalNPnP/../NPnP/DualVar.h:71:8: error: ‘optional’ in namespace ‘std’ does not name a template type
71 | std::optional<std::tuple<Eigen::Matrix3d, Eigen::Vector3d, double>>
我在網上查了一下,有可能我需要使用 C 版本 17,但 opencv 中的標準版本設定為 11。我可以在 opencv cmake 串列中更改什么來更改它?
uj5u.com熱心網友回復:
您可以通過以下方式從 ubuntu 的 opencv 包中安裝 OpenCV:
對于蟒蛇:
sudo apt-get install python3-opencv
對于 libopencv-dev:
sudo apt-get install libopencv-dev
如果要編譯它而不使用 ubuntu 的 OpenCV 包,請執行以下操作:
# dependencies
sudo apt-get install cmake
sudo apt-get install gcc g
# for python2 support
sudo apt-get install python-dev python-numpy
# for python3 support
sudo apt-get install python3-dev python3-numpy
# GTK support
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
# GTK 2 support
sudo apt-get install libgtk2.0-dev
# GTK 3 support
sudo apt-get install libgtk-3-dev
# Optional Dependencies
sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libtiff-dev
sudo apt-get install libwebp-dev
現在您已完成依賴項,繼續實際安裝
sudo apt-get install git
git clone https://github.com/opencv/opencv.git
mkdir build
cd build/
cmake ../
如果配置正確,這是輸出
-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.6)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: lib/python2.7/dist-packages
--
-- Python 3:
-- Interpreter: /usr/bin/python3.4 (ver 3.4.3)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3)
-- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
-- packages path: lib/python3.4/dist-packages
make
sudo make install
這是從ubunutu 中的 opencv docs py setup 中無恥地復制的
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/506605.html
上一篇:如何使用pythonopencv連接黑色背景上的白色框架中的間隙?
下一篇:IRv6的支持已從產品中洗掉