opencv怎么安装_OpenCV4在Ubuntu1810/1604安装

本文简要介绍OpenCV4在Ubuntu 1810上的安装。

目前OpenCV最新的稳定版本是4.0.1,可以从官网下载并解压,也可以从github上获取最新源码进行安装

  1. 安装依赖
sudo apt-get install cmake build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev:i386 libtiff5-dev

2. 获取opencv并安装,注意打开OPENCV_GENERATE_PKGCONFIG=ON,以便pkg-config使用,github出现issue,如果要加Python3,那么请打开对应的选项并填好路径[不过应该没必要,pip中的OpenCV现在已经是4的版本了]

# step 1
mkdir somedir
cd somedir

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

cd opencv && mkdir build &&cd build


# step 2
#########################################################
# Option 1 :Simple                                      #
#########################################################
cmake  -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_GENERATE_PKGCONFIG=ON ..
#########################################################
# Option 2 :more Complex,加入opencv_contrib模块          #
#########################################################
cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D INSTALL_PYTHON_EXAMPLES=ON 
-D INSTALL_C_EXAMPLES=ON 
-D OPENCV_ENABLE_NONFREE=ON 
-D OPENCV_EXTRA_MODULES_PATH=~/Documents/opencv4/opencv_contrib/modules 
-D BUILD_EXAMPLES=ON ..
#########################################################
# Option 3 :                                            #
# OpenCV4.1.1 on Ubuntu1604 with Miniconda3 & Python3.7 #
#########################################################
cmake -D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D OPENCV_GENERATE_PKGCONFIG=ON 
-D INSTALL_PYTHON_EXAMPLES=ON 
-D INSTALL_C_EXAMPLES=ON 
-D OPENCV_ENABLE_NONFREE=ON 
-D OPENCV_EXTRA_MODULES_PATH=~/repo/opencv_contrib/modules 
-D PYTHON3_EXECUTABLE=/home/gpu05/miniconda3/bin/python 
-D PYTHON_INCLUDE_DIR=/home/gpu05/miniconda3/include/python3.7m 
-D PYTHON_LIBRARY=/home/gpu05/miniconda3/lib/libpython3.7m.so 
-D PYTHON3_NUMPY_INCLUDE_DIRS=/home/gpu05/miniconda3/pkgs/numpy-1.17.0-py37h95a1406_0/lib/python3.7/site-packages/numpy/core/include/numpy 
-D BUILD_EXAMPLES=ON ..

make -j8
sudo make install

3. 使用pkg-config测试

$ pkg-config --libs --cflags opencv4
-I/usr/local/include/opencv4/opencv -I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_dnn -lopencv_gapi -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core

4. 小Demo测试,show.cpp:

// show.cpp 
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>

#include <iostream>
#include <string>

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    String imageName("/home/paul/Pictures/test.jpg" ); // by default
    if( argc > 1)
    {
        imageName = argv[1];
    }
    Mat image;
    image = imread( imageName, IMREAD_COLOR ); // Read the file
    if( image.empty() )                      // Check for invalid input
    {
        cout <<  "Could not open or find the image" << std::endl ;
        return -1;
    }

    namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
    imshow( "Display window", image );                // Show our image inside it.
    waitKey(0); // Wait for a keystroke in the window

    return 0;
}

编译并执行,可加-std=c++11选项:

g++ show.cpp -o show.o $(pkg-config --libs --cflags opencv4)
or 
g++ -std=c++11 show.cpp -o show.o $(pkg-config --libs --cflags opencv4)
./show.o

结果如下:

e8e1197a0e5c809f886d52905a4e5910.png

5. 测试目标检测Demo-Yolo V3,进入从git上拉下来的/opencv/samples/dnn目录,编译并执行,对摄相头进行目标检测

cd /yourdir/opencv/samples/dnn
g++ object_detection.cpp -o object_detection -std=c++11 $(pkg-config --libs --cflags opencv4)
./object_detection --@alias=yolo --classes=/yourdir/opencv/samples/data/dnn/object_detection_classes_yolov3.txt

fa040cee93c72e05283fef2f54723501.png

完结!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值