更新时间:2023-06-15 GMT+08:00
示例-资源管理
资源管理示例如下所示
#include <cstdio>
#include <hilens.h>
#include <string>
using namespace hilens;
using namespace cv;
void ResourceManage() {
// 获得技能工作区目录的路径(末尾带"/")
auto skill_path = hilens::GetWorkspacePath();
// 获得技能模型所在目录的路径(末尾带"/")
auto model_path = hilens::GetModelDirPath();
// 获得技能配置。如果没有成功获取则返回None
auto skill_config = hilens::GetSkillConfig();
// 假设技能配置中有名为face_dataset的配置项,其值为obs中的人脸库文件face_dataset.zip的地址
// 设置技能配置参数可参考《用户指南》相关操作
auto face_dataset_url = skill_config["face_dataset"]["value"].asString();
// 从OBS下载该文件到技能工作区目录,并通过返回值判断是否下载成功
auto ret =
hilens::DownloadFileFromOBS(face_dataset_url, hilens::GetWorkspacePath());
if (ret != hilens::OK) {
hilens::Error("Failed to download from obs");
}
// 在技能工作区目录新建文件夹并解压
std::string cmd = "mkdir " + hilens::GetWorkspacePath() + "face_dataset";
auto result = system(cmd.c_str());
if (result != 0) {
hilens::Error("Failed to mkdir");
}
cmd = "unzip " + hilens::GetWorkspacePath() + "face_dataset.zip -d " +
hilens::GetWorkspacePath() + "face_dataset/";
result = system(cmd.c_str());
if (result != 0) {
hilens::Error("Failed to unzip");
}
}
int main() {
auto ret = hilens::Init("hello");
if (ret != hilens::OK) {
hilens::Error("Failed to init");
return -1;
}
ResourceManage();
hilens::Terminate();
return 0;
}
父主题: 资源管理