Ubuntu16.04安装NCNN和Opencv

一、安装NCNN

        官网:NCNN官方文档

        On Debian, Ubuntu or Raspberry Pi OS, you can install all required dependencies using:

首先安装NCNN的依赖项,根据官网安装以下依赖项。

sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan-dev vulkan-utils libopencv-dev

        然后开始安装NCNN,从github下载ncnn包:

git clone --depth=1 https://github.com/Tencent/ncnn.git

         cd到下载好的ncnn包的位置,如(cd /home/user-linux/ncnn),创建build文件夹并进入该文件夹。

cd ncnn
mkdir build
cd build

         如果不编译vulkan,设置DNCNN_VULKAN=OFF,一般来说不用,如果要编译vulkan还需要下载libvulkan-dev vulkan-utils(虽然官网直接全包含了),如果你的硬件设备支持GPU可以考虑下载vulka,不然就设置DNCNN_VULKAN=OFF就行。

cmake -DNCNN_VULKAN=OFF ..

        开始编译和install。 

make -j8
make install

        ncnn 的文件都安装在 build 下的 install 里面了,如果需要复制到 /usr/local执行以下指令,一般手动安装的都会做这么一个操作,方便后面的调用。(容易找到位置)

sudo mkdir /usr/local/lib/ncnn
sudo cp -r install/include/ncnn /usr/local/include/ncnn
sudo cp -r install/lib/libncnn.a /usr/local/lib/ncnn/libncnn.a

         至此,ncnn的安装已经完成。测试NCNN是否可用:

cd ../examples
../build/examples/squeezenet ../images/256-ncnn.png

# 得到输出
532 = 0.165951
920 = 0.094098
716 = 0.062193
cd ../benchmark
../build/benchmark/benchncnn 10 $(nproc) 0 0

# 输出
loop_count = 10
num_threads = 8
powersave = 0
gpu_device = 0
cooling_down = 1
          squeezenet  min =    2.89  max =    3.19  avg =    2.98
     squeezenet_int8  min =    5.37  max =    8.72  avg =    5.93
           mobilenet  min =    3.75  max =    4.26  avg =    3.91
      mobilenet_int8  min =    5.91  max =    6.08  avg =    5.98
        mobilenet_v2  min =    3.51  max =    4.31  avg =    3.83
        mobilenet_v3  min =    3.09  max =    3.70  avg =    3.22
          shufflenet  min =    3.03  max =    3.26  avg =    3.10
       shufflenet_v2  min =    2.51  max =    2.81  avg =    2.59
             mnasnet  min =    3.42  max =    3.90  avg =    3.66
     proxylessnasnet  min =    3.73  max =    4.26  avg =    3.88
     efficientnet_b0  min =    5.86  max =   10.86  avg =    6.76
   efficientnetv2_b0  min =    6.66  max =    7.58  avg =    7.00
        regnety_400m  min =    7.83  max =   12.75  avg =    8.52
           blazeface  min =    0.89  max =    0.96  avg =    0.91
           googlenet  min =   10.47  max =   11.00  avg =   10.85
      googlenet_int8  min =   19.94  max =   20.60  avg =   20.11
            resnet18  min =    8.22  max =   28.34  avg =   10.50
       resnet18_int8  min =   18.58  max =   53.93  avg =   22.29
             alexnet  min =    8.48  max =   41.33  avg =   14.13
               vgg16  min =   46.46  max =   54.78  avg =   49.38
          vgg16_int8  min =   48.13  max =   61.21  avg =   50.25
            resnet50  min =   19.17  max =   20.06  avg =   19.43
...

二、从source安装自己的Opencv

        在安装NCNN的时候安装依赖项是会安装Opencv,但是版本比较低,可用通过以下命令查看当前opencv版本。

pkg-config --modversion opencv

        这里想自己从source装一个Opencv 3.x版本以上的Opencv。首先前往Opencv官网下载对应版本的Releases - OpenCV,如我下载的是3.4.3的版本。下载后解压。

         进入opencv-3.4.3文件夹,建立build文件夹,进入build文件夹。

cd /home/maser-linux/Downloads/opencv-3.4.3
mkdir build
cd build

        进行cmake,编译和install。大概5-10分钟。

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install

        安装完opencv需要配置环境。用nano打开/etc/ld.so.conf,在文件中加上一行 /usr/loacal/lib,其中/user/loacal是opencv安装路径也就是makefile中指定的安装路径。即上面CMAKE_INSTALL_PREFIX=/usr/local。

         运行下面语句刷新库链接配置。

sudo ldconfig

        然后修改bash.bashrc文件并更新。

sudo gedit /etc/bash.bashrc 

# 输入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH


source /etc/bash.bashrc

         在命令行中输入如下命令:说明Opencv3.4.3安装完成。

pkg-config opencv --modversion

        顺便一提,如果是安装的opencv4,查看版本应该是:

pkg-config --modversion opencv4

猜你喜欢

转载自blog.csdn.net/weixin_44855366/article/details/130165967