编写逻辑代码
华为HiLens提供了一套HiLens Framework,HiLens Framework通过封装底层接口、实现常用的管理功能,让开发者可以方便的开发Skill,发展AI生态。详细指导和API介绍可参见《开发指南》。
HiLens Framework示例代码
HiLens Kit搭载了HiLens Framework,开发者在开发技能编写逻辑代码时,可以直接调用HiLens Framework的API。
下面是使用HiLens Framework获取摄像头内容并做简单处理的示例。
- 需要在开发技能时填写代码执行文件。
- 固件1.1.2及以后版本支持配置技能的Python依赖库。开发者在开发技能过程中,可根据自身需要配置技能的Python依赖库,详情请见配置技能的Python依赖库。
#!/usr/bin/python3 # skillframework 1.0.0 python demo import hilens # 导入hilens包 import cv2 # 导入opencv def main(): hilens.init("hello") # 技能初始化 model = hilens.Model(hilens.get_model_dir() + "faceDetection.om") # 构造模型管理器。 disp = hilens.Display(hilens.HDMI) # 构造显示器 cap = hilens.VideoCapture() # 构造摄像头 proc = hilens.Preprocessor() # 构造预处理器 hilens.set_log_level(hilens.DEBUG) # 设定日志级别 hilens.Info("This is a skillframework python demo") # 打印日志 for i in range(10): frame = cap.read() # 读取一帧画面 rframe = proc.resize(frame, 480, 480, 1) # 缩放 inputs = [rframe.flatten()] # 构造模型输入 outputs = model.infer(inputs) # 推理 hilens.Info("outputs len: %d" % len(outputs)) # 打印输出尺寸 for o in outputs: hilens.Info("output shape: " + str(o.shape)) # post process is ignored disp.show(frame) # 将图像输出到显示器 hilens.terminate() # 销毁资源 if __name__ == "__main__": main()