ubuntu18.04 安装opencv

本文详细介绍了如何在Ubuntu 18.04上安装OpenCV,包括安装依赖、从GitHub下载源码包、编译OpenCV及其扩展模块,如IPPICV、tiny-dnn等。同时提供了测试程序和解决可能出现的错误的方法。

0,安装 Ubuntu 16.04 环境,并安装所需的依赖

sudo apt-get update
sudo apt-get install make cmake git pkg-config wget tree libnss3 libv4l-dev
sudo apt-get install python-dev build-essential libjpeg-dev libtbb2 libgtk2.0-dev
sudo apt-get install libavformat-dev libswscale-dev python-numpy libavcodec-dev 
sudo apt-get install libpng-dev libtiff-dev libdc1394-22-dev libtbb-dev 

1,github下载opencv源码包和扩展包

cd ~
mkdir opencv
cd opencv
wget https://github.com/opencv/opencv/archive/3.2.0.tar.gz
tar -xf 3.2.0.tar.gz
rm -rf 3.2.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/3.2.0.tar.gz
tar -xf 3.2.0.tar.gz
rm -rf 3.2.0.tar.gz

2,编译opencv
2.1 编译opencv,不编译扩展包

mkdir build
cd build
cmake \
	-D CMAKE_BUILD_TYPE=Release \
	-D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 \
	..
make -j 8
sudo make install

2.2 编译opencv,并编译扩展包

mkdir build
cd build
cmake \
	-D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 \
	-D OPENCV_EXTRA_MODULES_PATH=/home/rose/opencv_3.2.0/opencv_contrib-3.2.0/modules \
	-D CMAKE_BUILD_TYPE=Release \
	-D WITH_TBB=ON \
	-D WITH_V4L=ON \
	-D BUILD_TIFF=ON \
	-D BUILD_EXAMPLES=ON \
	-D BUILD_DOCS=OFF \
	-D BUILD_PERF_TESTS=OFF \ 
	-D BUILD_TESTS=OFF \
	-D WITH_OPENGL=ON \
	-D WITH_EIGEN=ON \
	-D WITH_CUDA=ON \
	-D WITH_CUBLAS=ON \
	-D CUDA_NVCC_FLAGS="-std=c++11 --expt-relaxed-constexpr" \
	-D WITH_NVCUVID=ON \
	-D BUILD_opencv_cudacodec=OFF \
	..
make -j 8
sudo make install

注意,编译扩展包,需要设置OPENCV_EXTRA_MODULES_PATH的路径 /home/rose/opencv_3.2.0/opencv_contrib-3.2.0/modules

2.3 – IPPICV: Download: ippicv_2017u3_lnx_intel64_general_20170822.tgz

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822/ippicv,下载版本
gedit /home/lc/opencv_source/opencv/3rdparty/ippicv/ippicv.cmake
修改第47行,"file:///home/rose/software/opencv-3.4.0/custom_package/ippicv/",保存退出

2.4,-- tiny-dnn: Download: v1.0.0a3.tar.gz

https://github.com/tiny-dnn/tiny-dnn/tags,下载版本
替换opencv-3.4.0/.cache/tiny_dnn/,并改名

2.5,-- xfeatures2d/vgg: Download: vgg_generated_48.i

https://github.com/jasaw/opencv_contrib_xfeatures2d_cache.git
替换,opencv-3.4.0/.cache/xfeatures2d

2.6,-- data: Download: face_landmark_model.dat

下载,https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
存放,opencv-3.4.0/build/cv/face//downloads/7505c44ca4eb54b4ab1e4777cb96ac05/face_landmark_model.dat,并修改名字

3,测试程序,test01

rose@:~/opencv_c++/test01$ tree
.
├── bin
├── CMakeLists.txt
├── main.cpp
└── makefile

3.1 main.cpp

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

using namespace std;
using namespace cv;

int main(void)
{
    cout << "hello world" << endl;
    string path = "/home/rose/image/123.jpeg";
    Mat src_image_ = imread(path);
    imshow("src_image_", src_image_);
    waitKey(5000);
    return 0;
}

3.2 CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(demo)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(OpenCV REQUIRED) 

add_executable(${PROJECT_NAME} main.cpp)


#添加opencv库
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
#target_link_libraries(${PROJECT_NAME} opencv_core opencv_highgui opencv_imgcodecs)

4 或调用系统环境的opencv库

# find_package(OpenCV REQUIRED)  cmake不输入opencv路径,必须执行
sudo apt-get install libopencv-dev python-opencv        
# pkg-config opencv --libs # 查看安装库
# pkg-config opencv --modversion # 查看版本
# sudo find / -iname "*opencv*" > 1.txt # 查看安装路径

5 另一种导入opencv函数的方法

# opencv
include_directories(/usr/local/opencv320/include)
link_directories(/usr/local/opencv320/lib)
 
# 输出项目名称,依赖main.cpp
add_executable(${PROJECT_NAME} main.cpp) 
target_link_libraries(${PROJECT_NAME} opencv_core opencv_highgui opencv_imgcodecs)

遇见错误
https://www.cnblogs.com/rohens-hbg/p/12016928.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值