C++版本fastdeploy 在linux环境下的安装与配置

1. 预编译安装下载

参考github中的文档 进行选择下载: https://github.com/PaddlePaddle/FastDeploy/blob/develop/README_CN.md#fastdeploy-quick-start-cpp
我选择的是c++ cpu版本。
下载下来后解压,将解压文件放在任意文件夹下,文件夹名最好不要包含中文,防止发生某种未知的错误。

2. 环境配置

由于我的项目是通过cmake进行编译的,所以需要将fastdeploy的include和lib导入到CMakeLists.txt中去。由于我cmake也是初学,所以很多部分也不是很懂,但是按照以下内容去设置是可以运行的。

set(FASTDEPLOY_INSTALL_DIR "/home/yuxian/study/cccc/c++pro/fastdeploy-linux-x64-1.0.7")
set(FASTDEPLOY_INCS "/home/yuxian/study/cccc/c++pro/fastdeploy-linux-x64-1.0.7/include")
set(FASTDEPLOY_LIBS "/home/yuxian/study/cccc/c++pro/fastdeploy-linux-x64-1.0.7/lib")
include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)
INCLUDE_DIRECTORIES(${FASTDEPLOY_INCS})
LINK_DIRECTORIES(${FASTDEPLOY_LIBS})
target_link_libraries(pro1 ${FASTDEPLOY_LIBS})

这些命令也许有几行是多余的,但也懒得去管了,等待后面系统学习过cmake后再说。

此时,进行cmake就可以编译通过,但在运行过程中会报错误。
主要错误就是fastdeploy所需要的几个第三方库没有找到。我们打开fastdeploy所在的文件夹,可以看到一个third_libs文件夹,这个文件夹下就存放了一些所依赖的第三方库文件,只需要将这些库放入到系统变量中去就可以了。
最好是将所有库文件都放到同一个文件夹下:LIBS

vim ~/.bashrc

在最某位加上

export LD_LIBRARY_PATH=/home/yuxian/study/cccc/c++pro/fastdeploy-linux-x64-1.0.7/third_libs/LIBS

保存后

source ~/.bashrc

如此就可以啦!!!贴上测试代码

#include "fastdeploy/vision.h"
int main()
{
uchar *mem_pic = nullptr;
FILE *file;
mem_pic = new uchar[6268932 / sizeof(uchar)];
file = popen("adb -s cdc3f475 shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1920x1080@1920x1080/0 -s", "r");
long size = 0;
fread(mem_pic, sizeof(uchar), 6268932 / sizeof(uchar), file);
pclose(file);
cv::_InputArray pic_arr(mem_pic, 6268932 / sizeof(uchar));
cv::Mat src_mat = cv::imdecode(pic_arr, 1);
namespace vision = fastdeploy::vision;
auto model = vision::detection::YOLOv5("/home/yuxian/coc/fastdepoly/army.onnx");
vision::DetectionResult res;
model.Predict(src_mat, &res);
auto vis_im = vision::VisDetection(src_mat, res, 0.9);
cv::imwrite("/home/yuxian/study/cccc/c++pro/pro1/vis_image.jpg", vis_im);
}
posted @   (⊃・ᴥ・)つ  阅读(424)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示