【问题标题】:How to crop the detected object after training using YOLO?使用 YOLO 训练后如何裁剪检测到的对象?
【发布时间】:2020-08-21 21:46:15
【问题描述】:

我正在使用 YOLO 进行模型训练。我想裁剪检测到的对象。 对于我使用的暗网存储库是:https://github.com/AlexeyAB/darknet/

为了在文本文件中检测和存储输出坐标,我使用这个: !./darknet 检测器测试 data_for_colab/obj.data data_for_colab/yolov3-tiny-obj.cfg yolov3-tiny-obj_10000.weights -dont_show -ext_output result.txt Result.jpg

【问题讨论】:

    标签: yolo darknet


    【解决方案1】:

    考虑到 TEST.txt 文件中有详细信息作为示例图像。 您可以使用python的re模块进行文本模式检测,即您的“class_name”。

    解析 .txt 文件

    import re
    path='/content/darknet/result.txt'
    myfile=open(path,'r')
    lines=myfile.readlines()
    pattern= "class_name"
    
    for line in lines:
      if re.search(pattern,line):
        Cord_Raw=line
    Cord=Cord_Raw.split("(")[1].split(")")[0].split("  ")
    

    现在我们将获取列表中的坐标。

    坐标计算

    x_min=int(Cord[1])
    x_max=x_min + int(Cord[5])
    y_min=int(Cord[3])
    y_max=y_min+ int(Cord[7])
    

    从实际图像中裁剪

    import cv2
    img = cv2.imread("Image.jpg")
    crop_img = img[y_min:y_max, x_min:x_max]
    cv2.imwrite("Object.jpg",crop_img)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-12
      • 2021-04-28
      • 1970-01-01
      • 2020-09-20
      • 2021-08-15
      • 2020-06-21
      • 1970-01-01
      • 2019-04-05
      相关资源
      最近更新 更多