3.31日报
继续完善服务外包杯,进行了端到端系统设计
def detect(): """创新点6:REST API接口设计""" data = request.json vis_img = base64.b64decode(data['vis_image']) ir_img = base64.b64decode(data['ir_image']) vis_img = Image.open(io.BytesIO(vis_img)) ir_img = Image.open(io.BytesIO(ir_img)) # 转换为张量 vis_tensor = transform_image(vis_img) ir_tensor = transform_image(ir_img, is_ir=True) # 处理帧 results = process_frame(vis_tensor, ir_tensor) # 准备响应 response = { "status": "success", "detections": results["detections"], "processing_time_ms": results["processing_time"] * 1000, "smoke_density": float(results["density_map"].mean()) } return jsonify(response) def transform_image(image, is_ir=False): """图像转换函数""" image = image.resize((512, 512)) if is_ir: image = image.convert('L') # 红外转为灰度 image = np.array(image) image = torch.from_numpy(image).float().unsqueeze(0).unsqueeze(0) / 255.0 else: image = np.array(image) image = torch.from_numpy(image).float().permute(2, 0, 1) / 255.0 image = image.unsqueeze(0) return image if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)