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)

 

posted @ 2025-04-09 11:10  Code13  阅读(9)  评论(0)    收藏  举报