目录
一、配置OpenCV
1.到 https://opencv.org/releases/ 下载 OpenCV Windows 版安装包,建议安装3.4.15版本,因为本人一开始使用4.5.5版本的OpenCV读取不了mp4文件
2. 解压安装包,双击安装包,指定解压缩目录
3.属性页会在后面一起配置
4.在系统变量的path中添加OpenCV的路径
二、配置Onnxruntime
1.首先确定cudnn的版本
1》在桌面单击鼠标右键->NVIDIA控制面板->系统信息->组件
2》我这里是11.X的版本,如果你的版本为10.X时,选择10.X版本
cudnn的版本为11.X时,选下面链接下载11.X版本
3》解压到自己建立的空文件夹中
4》源码也一起下着,然后将source和onnx解压将source中onnx没有的文件拷贝到onnx里面
5》提供onnx网盘链接,这里是1.9.0版本
链接:https://pan.baidu.com/s/1J1Z4IYLCEPsXmJtMiVHKgA
提取码:5trv
2.属性页会在后面一起配置
三、配置TNN
1.下载安装包解压就好
提供网盘链接是0.3.0版本的
链接:https://pan.baidu.com/s/1z0WCU0r2CoHsOmrbBELcuQ
提取码:gmef
四、在VS2019下编译MNN
1. 按照这个博客编译即可
1》提供MNN的网盘压缩包
链接:https://pan.baidu.com/s/1T3Td6M66QZCaCvrTO9z0Gw
提取码:xoo4
2.注意点
1》build一定要建在MNN的源码里面,nmake才会运行成功
2》如果文件夹建立没有错误但是还是运行失败,可以试试
nmake /I
重新运行
3》如果提示dmake不存在则需要下载dmake安装包并且解压
4》这里提供dmake-4.12.2.2.zip和cmake-3.10.0-rc1-win64-x64.zip的网盘链接
1>dmake-4.12.2.2.zip
https://pan.baidu.com/s/1gNLXXigwSfl5fL5irAjN5Q
提取码:46zv
2>cmake-3.10.0-rc1-win64-x64.zip
https://pan.baidu.com/s/1R_FOC5jCnts9sdUCs2onVA
提取码:9ah3
5》需要在环境变量中添加cmake下bin的路径
6》如果还不能解决就点击以下连接查看文档
五、配置NCNN环境
2.记得要先编译NCNN文件,我建议都编译为Release
mkdir build_release
cd build_release
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install
六、配置NCNN
1.下载probobuf,提供百度网盘链接,这里是3.4.0版本
链接:https://pan.baidu.com/s/1czed9MyNKqim8YmM3NOsZw
提取码:aabd
2.解压到自定义目录
3.在VS的控制台输入以下代码进行编译
cd <你解压的protobuf目录>
mkdir build_release
cd build_release
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install
七、Vulkan配置
1.配置Vulkan,这里提供网盘链接,建议下载和自己电脑匹配的版本
查看相关信息
nvidia-smi
链接:https://pan.baidu.com/s/1J4Ntlda1NBhd6csStwijpg
提取码:n7ku
2.在系统环境变量中添加Vulkan的路径
八、配置NCNN
1. 地址https://github.com/Tencent/ncnn
1》提供1.9.0版本的网盘链接
链接:https://pan.baidu.com/s/1MVL8_9z4vvrEyPdOkAuHNg
提取码:qotd
2.编译
cd ncnn解压目录
mkdir build_release
cd build_release
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=<你的protobuf>/build_release/install/include -DProtobuf_LIBRARIES=<你的protobuf>/build_release/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=<你的protobuf>/build_release/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
nmake
nmake install
3.如果报错,试一下
git submodule update --init
九、在官网下载lite.ai.toolkit
1.将lite.ai.toolkit中自带的MNN、ncnn、onnxruntime、tnn和OpenCV2删除
2.将自己的替换进去
1》opencv2
2》MNN
3》tnn
4》onnxruntime
5》 ncnn
3.复制对应的lib和dll到lib文件夹下
4.将以上的dll和lib文件拷贝到lite.ai.toolkit的lib文件夹下
5.修改opencv配置,在lite.ai.toolkit下的cmake文件夹中的setup_opencv_libs.cmake用记事本打开
# 1. setup 3rd-party dependencies
message(STATUS "Setting up OpenCV libs for: ${CMAKE_CURRENT_SOURCE_DIR}")
#if(NOT WIN32)
# if(ENABLE_OPENCV_VIDEOIO)
# set(OpenCV_LIBS opencv_core opencv_imgproc opencv_imgcodecs opencv_video opencv_videoio)
# else()
# set(OpenCV_LIBS opencv_core opencv_imgproc opencv_imgcodecs) # no videoio, video module
# endif()
#else()
# set(OpenCV_LIBS opencv_world452)
#endif()
set(OpenCV_LIBS
opencv_world3415d
opencv_world3415
)
message("###########################")
#message(STATUS "Setting up OpenCV libs done! OpenCV_LIBS:+[${OpenCV_LIBS}]")
6.修改build.sh也是用记事本打开,其在lite.ai.toolkit文件夹下
#!/bin/bash
BUILD_DIR=build
if [ ! -d "${BUILD_DIR}" ]; then
mkdir "${BUILD_DIR}"
echo "creating build dir: ${BUILD_DIR} ..."
else
rm -rf ./build/* && echo "clear built files done ! & rebuilding...."
echo "build dir: ${BUILD_DIR} directory! ..."
fi
cd "${BUILD_DIR}" && cmake \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DINCLUDE_OPENCV=ON \
-DENABLE_MNN=OFF \
-DENABLE_NCNN=OFF \
-DENABLE_TNN=OFF &&
.. make -j8
7.打开x64 Native Tools....
1》cd到lite.ai.toolkit路径,输入
cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DINCLUDE_OPENCV=ON -DENABLE_MNN=ON -DENABLE_NCNN=ON -DENABLE_TNN=ON -DENABLE_ONNXRUNTIME_CUDA=ON
2》然后在lite.ai.toolkit目录下会有lite.ai.toolkit.sln右键用VS2019打开即可
十、配置属性页和生成
1.打开 lite.ai.toolkit.sln
2.点击属性-->VC++目录-->包含目录-->编辑,将以下添加进去,然后点击确定
3.VC++目录-->库目录-->编辑,将以下添加进去,点击确定
4.链接器-->输入-->附加依赖项-->编辑,将以下添加进去
opencv_world3415d.lib
opencv_world3415.lib
onnxruntime.lib
MNN.lib
ncnn.lib
TNN.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib
libprotobuf.lib
vulkan-1.lib
glslang.lib
SPIRV.lib
OGLCompiler.lib
OSDependent.lib
MachineIndependent.lib
GenericCodeGen.lib
5.C/C++-->预处理器-->预处理器定义-->编辑
%(PreprocessorDefinitions)
WIN32
_WINDOWS
NDEBUG
CMAKE_INTDIR="MinSizeRel"
lite_ai_toolkit_EXPORTS
NOMINMAX
6.点击应用-->确定
7.生成等待结果
8.当文件夹中有以下结果就编译成功啦
9.如果想要应用里面的例子可以直接生成,然后点击.exe文件,如果失败可以将我们之前拷贝的dll和lib文件全部拷贝到.exe文件下
10.如果生成失败可以像生成lite.ai.toolkit一样配置目录和库
参考链接: