RicardoM.Lu1 2023-04-11 14:57 采纳率: 80.6%
浏览 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 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用
  • ¥15 ios可以实现ymodem-1k协议 1024字节传输吗?
  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)