![机器视觉与人工智能应用开发技术](https://wfqqreader-1252317822.image.myqcloud.com/cover/827/50064827/b_50064827.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.2 开发设计与实践
2.1.2.1 架构设计
本项目的AiCam平台采用统一模型调用、统一硬件接口、统一算法封装和统一应用模板的设计模式,可以在嵌入式边缘计算环境下快速地进行应用开发和项目实施。AiCam平台为模型的调用提供RESTful调用接口,可以实时返回视频分析的结果和数据,同时通过物联网云平台的应用接口与硬件进行连接和互动,最终实现各种应用。AiCam平台的开发框架请参考图1.3。
本项目的开发流程如下:
(1)在aicam工程包的配置文件中添加摄像头(config\app.json)。
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_42_3.jpg?sign=1739657156-HIVin01eBCFShHzPBs4PegRmArVlHROz-0-c3d75dbe926fdfc36118a2dd4fabfa69)
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_43_1.jpg?sign=1739657156-Z2Dbr1b6Y32s9Uww8cTzl16SUzG3fOgZ-0-47e22ee0ef6f885c954d899c8f310952)
(2)在创建的aicam工程包中添加算法文件algorithm\image_capture\image_capture.py。
(3)在创建的aicam工程包中添加算法项目前端应用static\image_capture。
(4)前端应用采用RESTFul获取处理后的视频流,返回base64编码的图像和数据。访问URL地址格式如下(IP地址为边缘计算网关的地址):
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_43_2.jpg?sign=1739657156-fCYJlT2tHPlaiNH2MxSEBAZDLGeVqQE6-0-dca984f71d59722d4a73d5ed0539e649)
前端应用JS(js\index.js)处理代码如下:
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_43_3.jpg?sign=1739657156-9O1fNqiGhPx4wbQbpSrDfBU4v3IjsdBL-0-5a3bd3d7cd9a093bd3bd6313f76125ff)
2.1.2.2 功能与核心代码设计
通过图像采集算法(algorithm\image_capture\image_capture.py)的ImageCapture类的inference方法返回摄像头采集的原始图像,本项目未对原始视频流进行任何处理,返回的是原始图像。对视频流图像的处理可以放到inference方法中进行,然后返回处理后的图像。
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_43_4.jpg?sign=1739657156-XCIs5J8lUdjFEhtCJ5yMFBqVoPmDLZNC-0-9d7f18d91460d7453978a1b101219f62)
![](https://epubservercos.yuewen.com/3B3414/29436032103210506/epubprivate/OEBPS/Images/47396_44_1.jpg?sign=1739657156-zGXpQohDV9oT87tnGp2dRYHeAifAx5w4-0-91f7c2c4924e40b0b8fd6a6cb7d06e13)