RicardoM.Lu1 2023-04-11 14:57 采纳率: 82.1%
浏览 100
已结题

在做人工智能检测印章时遇到了问题

在做人工智能检测印章时遇到了问题:我需要把该yolov5的处理结果转换成base64传给另一个模型进行识别,但是该代码的结果是一个列表,我该如何处理?
代码如下:

import torch
from PIL import Image


def yolo_model_load(model_path):
    model = torch.hub.load('D:/test11/yolov5',
                           'custom',
                           path=model_path,
                           source='local',
                           force_reload=True)  # local repo
    model.conf = 0.4
    model.eval()
    return model

if __name__ == '__main__':
    from PIL import Image

    model_path = 'D:/test11/yolov5/models/seal_detect_best.pt'

    image = Image.open('D:/test11/yolov5/8.png')
    model = yolo_model_load(model_path)
    yolo_res = model(image, size=640)
    yolo_res.show()
    yolo_res_list = yolo_res.pandas().xyxy[0].values.tolist()
    print(type(yolo_res_list))
    print('印章识别结果:', yolo_res_list)

结果如下:

D:\Anaconda3\envs\cj-env\python.exe D:\test11\yolov5\test1.py 
YOLOv5  v6.1-275-g29d79a6 Python-3.7.16 torch-1.13.1+cu117 CUDA:0 (NVIDIA GeForce RTX 3070 Ti Laptop GPU, 8192MiB)

Fusing layers... 
YOLOv5s summary: 213 layers, 7015519 parameters, 0 gradients
Adding AutoShape... 
<class 'list'>
印章识别结果: [[758.1011962890625, 1005.4564208984375, 1178.61376953125, 1428.8299560546875, 0.9835438132286072, 0, 'seal_y'], [2428.508056640625, 1034.09228515625, 2805.164306640625, 1410.1837158203125, 0.9834598302841187, 0, 'seal_y']]

Process finished with exit code 0

我要达成的目的:我需要把该yolov5的处理结果转换成base64传给另一个模型进行识别,该模型需要的参数格式是base64

  • 写回答

9条回答 默认 最新

  • CSDN专家-showbo 2023-04-11 15:22
    关注

    编码成2进制后用base64转下

    import json
    import base64
    
    #yolo_res_list = yolo_res.pandas().xyxy[0].values.tolist()
    yolo_res_list=[[758.1011962890625, 1005.4564208984375, 1178.61376953125, 1428.8299560546875, 0.9835438132286072, 0, 'seal_y'], [2428.508056640625, 1034.09228515625, 2805.164306640625, 1410.1837158203125, 0.9834598302841187, 0, 'seal_y']]
    yolo_res_liststr=json.dumps(yolo_res_list)#转json字符串
    base64str=str(base64.b64encode(yolo_res_liststr.encode('utf-8')))
    print(type(base64str))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月12日
  • 已采纳回答 4月12日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持