更新时间: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; }
父主题: 资源管理