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 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"