三分迷惘

ubuntu20安装opencv4+opencv_contrib

2020-06-21  本文已影响0人  Then丶

发帖时间即为成功时间

文件缺少等问题解决方法看底部

下载最新opencv与opencv_contrib
将opencv_contrib拷贝到opencv目录下

#安装支持库
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
mkdir build
cd build

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D ENABLE_CXX11=1 -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D OPENCV_ENABLE_NONFREE=True -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=ON -D WITH_CUDA=ON -D WITH_TBB=ON -D ENABLE_FAST_MATH=1 -D WITH_OPENMP=ON -D WITH_CUFFT=ON -D WITH_CUBLAS=ON ..
make -j4
make install

配置环境变量

sudo gedit /etc/ld.so.conf.d/opencv.conf
/usr/local/lib #保存本句 然后关闭
---
sudo ldconfig
gedit /etc/bash.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH #添加到末尾

pkg-config opencv4 --modversion #查看版本

测试

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char const *argv[])
{
    Mat src = imread("eagle.jpg");
    imshow("src", src);
    Mat src_gray;
    cvtColor(src, src_gray, COLOR_BGR2GRAY); // 注意,有的教程CV_BGR2GRAY,opencv4下会报错
    imshow("src_gray", src_gray);
    imwrite("eagle_gray.jpg", src_gray);
    waitKey(0);
    return 0;
}
g++ -std=c++11 showEagle.cpp -o showEagle `pkg-config --cflags --libs opencv4`

安装OpenCV时提示缺少boostdesc_bgm.i文件的问题
拷贝到opencv_contrib/modules/xfeatures2d/src/目录下

下载地址: https://5435.lanzous.com/iwgkRdxdrja


问题处理

fatal error: features2d/test/test_detectors_regression.impl.hpp

step.1 进入opencv源码目录~/opencv/modules/features2d/test/,拷贝test_detectors_regression.impl.hpp 及 test_descriptors_regression.impl.hpp 到 ~/opencv_contrib/modules/xfeatures2d/test/下
step.2 编辑 test_features2d.cpp ,修改include文件地址

// #include "features2d/test/test_detectors_regression.impl.hpp"
// #include "features2d/test/test_descriptors_regression.impl.hpp"
// 修改文件地址如下
#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

根据提示的缺少文件从~/opencv/modules/features2d/test中拷贝如下文件到~/opencv_contrib/modules/xfeatures2d/test/

test_detectors_invariance.impl.hpp
test_descriptors_invariance.impl.hpp
test_invariance_utils.hpp

然后修改test_rotation_and_scale_invariance.cpp文件

// #include "features2d/test/test_detectors_invariance.impl.hpp" // main OpenCV repo
// #include "features2d/test/test_descriptors_invariance.impl.hpp" // main OpenCV repo
#include "test_detectors_invariance.impl.hpp" // main OpenCV repo
#include "test_descriptors_invariance.impl.hpp" // main OpenCV repo
image.png
安装好后,include目录在/usr/local/include/opencv4下,库目录在/usr/local/lib下

Re:
https://blog.csdn.net/u011622208/article/details/104265206
https://blog.csdn.net/qq_36486890/article/details/97511295
https://blog.csdn.net/AlexWang30/article/details/99612188
https://blog.csdn.net/youlinhuanyan/article/details/104109599

上一篇 下一篇

猜你喜欢

热点阅读