Python 分析计算机视觉输出

时间:2021-03-31 10:36:00

标签: python list dictionary computer-vision list-comprehension

通过计算机视觉程序和对象识别,我得到了这样的数组,它描述了识别对象周围的矩形:

[{
  min: { x: 0.04963243, y: 0.48638576 },
  max: { x: 0.31779325, y: 0.99719137 },
  object_class: {
    id: '1',
    class_number: '1',
    name: 'aaaa',
    confidence: 0.97399896
  }
},
{
  min: { x: 0.048526138, y: 0 },
  max: { x: 0.3132363, y: 0.4141748 },
  object_class: {
    id: '2',
    class_number: '2',
    name: 'bbbb'
    confidence: 0.7052338
  }
},
{
  min: { x: 0.05446595, y: 0 },
  max: { x: 0.31821355, y: 0.41463163 },
  object_class: {
    id: '1',
    class_number: '1',
    name: 'aaaa',
    confidence: 0.702788
  }
},
{
  min: { x: 0.043725803, y: 0.4907713 },
  max: { x: 0.31781, y: 0.9913551 },
  object_class: {
    id: '2',
    class_number: '2',
    name: 'bbbb',
    confidence: 0.6097382
  }
}]

我正在尝试使用 minma​​x 值来裁剪拍摄照片的区域。 所以我是 python 的新手,真的不知道如何做到这一点。我研究了列表推导式,但没有找到实现它的方法。

当我尝试使用数组时,我也收到错误 NameError: name 'x' is not defined

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这是答案。我希望你知道在 python 中使用 for 循环。

arr = [{
    'min': {'x': 0.04963243, 'y': 0.48638576},
    'max': {'x': 0.31779325, 'y': 0.99719137},
    'object_class': {
        'id': '1',
        'class_number': '1',
        'name': 'aaaa',
        'confidence': 0.97399896
    }
},
    {
    'min': {'x': 0.048526138, 'y': 0},
    'max': {'x': 0.3132363, 'y': 0.4141748},
    'object_class': {
        'id': '2',
        'class_number': '2',
        'name': 'bbbb', #mistake here comma missing
        'confidence': 0.7052338
    }
},
    {
    'min': {'x': 0.05446595, 'y': 0},
    'max': {'x': 0.31821355, 'y': 0.41463163},
    'object_class': {
        'id': '1',
        'class_number': '1',
        'name': 'aaaa',
        'confidence': 0.702788
    }
},
    {
    'min': {'x': 0.043725803, 'y': 0.4907713},
    'max': {'x': 0.31781, 'y': 0.9913551},
    'object_class': {
        'id': '2',
        'class_number': '2',
        'name': 'bbbb',
        'confidence': 0.6097382
    }
}]

# loop through your array
for i in arr:
    
    # min amount is obtained by i['min']
    min_amount = i['min']
    
    # max amount is obtained by i['max']
    max_amount = i['max']

    # check them out
    print(min_amount)
    print(max_amount)

快乐编码!