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 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助