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

3435

被折叠的 条评论
为什么被折叠?



