Initial commit: 上分帝(Climperor)
从 dota2-draft-vision 迁出并定名,作为天梯选将识别项目起点。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.598,
|
||||
"margin": 0.296,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.598
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.302
|
||||
],
|
||||
[
|
||||
"kez",
|
||||
0.237
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.676,
|
||||
"margin": 0.367,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.676
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.309
|
||||
],
|
||||
[
|
||||
"monkey_king",
|
||||
0.221
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "viper",
|
||||
"raw_best": "viper",
|
||||
"score": 0.651,
|
||||
"margin": 0.256,
|
||||
"top3": [
|
||||
[
|
||||
"viper",
|
||||
0.651
|
||||
],
|
||||
[
|
||||
"faceless_void",
|
||||
0.396
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.317
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": null,
|
||||
"raw_best": "earthshaker",
|
||||
"score": 0.434,
|
||||
"margin": 0.128,
|
||||
"top3": [
|
||||
[
|
||||
"earthshaker",
|
||||
0.434
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.306
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.297
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": null,
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 0.327,
|
||||
"margin": 0.052,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
0.327
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.275
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.266
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.603,
|
||||
"margin": 0.393,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.603
|
||||
],
|
||||
[
|
||||
"phantom_lancer",
|
||||
0.21
|
||||
],
|
||||
[
|
||||
"monkey_king",
|
||||
0.197
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "zuus",
|
||||
"raw_best": "zuus",
|
||||
"score": 0.461,
|
||||
"margin": 0.231,
|
||||
"top3": [
|
||||
[
|
||||
"zuus",
|
||||
0.461
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.23
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.206
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.691,
|
||||
"margin": 0.247,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.691
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.445
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.396
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "juggernaut",
|
||||
"raw_best": "juggernaut",
|
||||
"score": 0.67,
|
||||
"margin": 0.201,
|
||||
"top3": [
|
||||
[
|
||||
"juggernaut",
|
||||
0.67
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.469
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.379
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "lion",
|
||||
"raw_best": "lion",
|
||||
"score": 0.509,
|
||||
"margin": 0.194,
|
||||
"top3": [
|
||||
[
|
||||
"lion",
|
||||
0.509
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.315
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.275
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 8,
|
||||
"library_size": 127,
|
||||
"elapsed_ms": 358,
|
||||
"match_id": "0",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 14:37:42",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_143742.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.598,
|
||||
"margin": 0.296,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.598
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.302
|
||||
],
|
||||
[
|
||||
"kez",
|
||||
0.237
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.676,
|
||||
"margin": 0.367,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.676
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.309
|
||||
],
|
||||
[
|
||||
"monkey_king",
|
||||
0.221
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "viper",
|
||||
"raw_best": "viper",
|
||||
"score": 0.651,
|
||||
"margin": 0.256,
|
||||
"top3": [
|
||||
[
|
||||
"viper",
|
||||
0.651
|
||||
],
|
||||
[
|
||||
"faceless_void",
|
||||
0.396
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.317
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": null,
|
||||
"raw_best": "earthshaker",
|
||||
"score": 0.434,
|
||||
"margin": 0.128,
|
||||
"top3": [
|
||||
[
|
||||
"earthshaker",
|
||||
0.434
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.306
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.297
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": null,
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 0.327,
|
||||
"margin": 0.052,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
0.327
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.275
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.266
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.603,
|
||||
"margin": 0.393,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.603
|
||||
],
|
||||
[
|
||||
"phantom_lancer",
|
||||
0.21
|
||||
],
|
||||
[
|
||||
"monkey_king",
|
||||
0.197
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "zuus",
|
||||
"raw_best": "zuus",
|
||||
"score": 0.461,
|
||||
"margin": 0.231,
|
||||
"top3": [
|
||||
[
|
||||
"zuus",
|
||||
0.461
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.23
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.206
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.691,
|
||||
"margin": 0.247,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.691
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.445
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.396
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "juggernaut",
|
||||
"raw_best": "juggernaut",
|
||||
"score": 0.67,
|
||||
"margin": 0.201,
|
||||
"top3": [
|
||||
[
|
||||
"juggernaut",
|
||||
0.67
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.469
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.379
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "lion",
|
||||
"raw_best": "lion",
|
||||
"score": 0.509,
|
||||
"margin": 0.194,
|
||||
"top3": [
|
||||
[
|
||||
"lion",
|
||||
0.509
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.315
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.275
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "crystal_maiden",
|
||||
"raw_best": "crystal_maiden",
|
||||
"score": 0.454,
|
||||
"margin": 0.222,
|
||||
"top3": [
|
||||
[
|
||||
"crystal_maiden",
|
||||
0.454
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.232
|
||||
],
|
||||
[
|
||||
"visage",
|
||||
0.206
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.637,
|
||||
"margin": 0.277,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.637
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.361
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.298
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.688,
|
||||
"margin": 0.255,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.688
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.433
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.401
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 0.652,
|
||||
"margin": 0.523,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
0.652
|
||||
],
|
||||
[
|
||||
"primal_beast",
|
||||
0.129
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.693,
|
||||
"margin": 0.356,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.693
|
||||
],
|
||||
[
|
||||
"furion",
|
||||
0.337
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.324
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": null,
|
||||
"raw_best": "earthshaker",
|
||||
"score": 0.434,
|
||||
"margin": 0.128,
|
||||
"top3": [
|
||||
[
|
||||
"earthshaker",
|
||||
0.434
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.306
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.297
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": null,
|
||||
"raw_best": "necrolyte",
|
||||
"score": 0.412,
|
||||
"margin": 0.294,
|
||||
"top3": [
|
||||
[
|
||||
"necrolyte",
|
||||
0.412
|
||||
],
|
||||
[
|
||||
"omniknight",
|
||||
0.118
|
||||
],
|
||||
[
|
||||
"alchemist",
|
||||
0.111
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.711,
|
||||
"margin": 0.413,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.711
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.297
|
||||
],
|
||||
[
|
||||
"bristleback",
|
||||
0.241
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.657,
|
||||
"margin": 0.286,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.657
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.372
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.273
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.519,
|
||||
"margin": 0.336,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.519
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.183
|
||||
],
|
||||
[
|
||||
"nyx_assassin",
|
||||
0.16
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 8,
|
||||
"library_size": 127,
|
||||
"elapsed_ms": 362,
|
||||
"match_id": "0",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 14:41:31",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_144131.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "crystal_maiden",
|
||||
"raw_best": "crystal_maiden",
|
||||
"score": 0.454,
|
||||
"margin": 0.222,
|
||||
"top3": [
|
||||
[
|
||||
"crystal_maiden",
|
||||
0.454
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.232
|
||||
],
|
||||
[
|
||||
"visage",
|
||||
0.206
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.637,
|
||||
"margin": 0.277,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.637
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.361
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.298
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.688,
|
||||
"margin": 0.255,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.688
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.433
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.401
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 0.652,
|
||||
"margin": 0.523,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
0.652
|
||||
],
|
||||
[
|
||||
"primal_beast",
|
||||
0.129
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.693,
|
||||
"margin": 0.356,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.693
|
||||
],
|
||||
[
|
||||
"furion",
|
||||
0.337
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.324
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": null,
|
||||
"raw_best": "earthshaker",
|
||||
"score": 0.434,
|
||||
"margin": 0.128,
|
||||
"top3": [
|
||||
[
|
||||
"earthshaker",
|
||||
0.434
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.306
|
||||
],
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.297
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": null,
|
||||
"raw_best": "necrolyte",
|
||||
"score": 0.412,
|
||||
"margin": 0.294,
|
||||
"top3": [
|
||||
[
|
||||
"necrolyte",
|
||||
0.412
|
||||
],
|
||||
[
|
||||
"omniknight",
|
||||
0.118
|
||||
],
|
||||
[
|
||||
"alchemist",
|
||||
0.111
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.711,
|
||||
"margin": 0.413,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.711
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.297
|
||||
],
|
||||
[
|
||||
"bristleback",
|
||||
0.241
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.657,
|
||||
"margin": 0.286,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.657
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.372
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.273
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.519,
|
||||
"margin": 0.336,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.519
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.183
|
||||
],
|
||||
[
|
||||
"nyx_assassin",
|
||||
0.16
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": null,
|
||||
"raw_best": "elder_titan",
|
||||
"score": 0.446,
|
||||
"margin": 0.184,
|
||||
"top3": [
|
||||
[
|
||||
"elder_titan",
|
||||
0.446
|
||||
],
|
||||
[
|
||||
"warlock",
|
||||
0.262
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.222
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 1.0,
|
||||
"margin": 0.871,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"primal_beast",
|
||||
0.129
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "lion",
|
||||
"raw_best": "lion",
|
||||
"score": 1.0,
|
||||
"margin": 0.633,
|
||||
"top3": [
|
||||
[
|
||||
"lion",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.367
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.34
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "juggernaut",
|
||||
"raw_best": "juggernaut",
|
||||
"score": 1.0,
|
||||
"margin": 0.516,
|
||||
"top3": [
|
||||
[
|
||||
"juggernaut",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.484
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.395
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": null,
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 0.327,
|
||||
"margin": 0.052,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
0.327
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.275
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.266
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "death_prophet",
|
||||
"raw_best": "death_prophet",
|
||||
"score": 0.951,
|
||||
"margin": 0.551,
|
||||
"top3": [
|
||||
[
|
||||
"death_prophet",
|
||||
0.951
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.4
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.372
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "tidehunter",
|
||||
"raw_best": "tidehunter",
|
||||
"score": 0.528,
|
||||
"margin": 0.271,
|
||||
"top3": [
|
||||
[
|
||||
"tidehunter",
|
||||
0.528
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.257
|
||||
],
|
||||
[
|
||||
"lich",
|
||||
0.208
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.96,
|
||||
"margin": 0.703,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.96
|
||||
],
|
||||
[
|
||||
"warlock",
|
||||
0.257
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.201
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.912,
|
||||
"margin": 0.576,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.912
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.336
|
||||
],
|
||||
[
|
||||
"furion",
|
||||
0.324
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.706,
|
||||
"margin": 0.338,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.706
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.368
|
||||
],
|
||||
[
|
||||
"zuus",
|
||||
0.298
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 8,
|
||||
"library_size": 155,
|
||||
"elapsed_ms": 447,
|
||||
"match_id": "0",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 14:51:36",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_145136.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": null,
|
||||
"raw_best": "elder_titan",
|
||||
"score": 0.446,
|
||||
"margin": 0.184,
|
||||
"top3": [
|
||||
[
|
||||
"elder_titan",
|
||||
0.446
|
||||
],
|
||||
[
|
||||
"warlock",
|
||||
0.262
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.222
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 1.0,
|
||||
"margin": 0.871,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"primal_beast",
|
||||
0.129
|
||||
],
|
||||
[
|
||||
"naga_siren",
|
||||
0.127
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "lion",
|
||||
"raw_best": "lion",
|
||||
"score": 1.0,
|
||||
"margin": 0.633,
|
||||
"top3": [
|
||||
[
|
||||
"lion",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.367
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.34
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "juggernaut",
|
||||
"raw_best": "juggernaut",
|
||||
"score": 1.0,
|
||||
"margin": 0.516,
|
||||
"top3": [
|
||||
[
|
||||
"juggernaut",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.484
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.395
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": null,
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 0.327,
|
||||
"margin": 0.052,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
0.327
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.275
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.266
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "death_prophet",
|
||||
"raw_best": "death_prophet",
|
||||
"score": 0.951,
|
||||
"margin": 0.551,
|
||||
"top3": [
|
||||
[
|
||||
"death_prophet",
|
||||
0.951
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.4
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.372
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "tidehunter",
|
||||
"raw_best": "tidehunter",
|
||||
"score": 0.528,
|
||||
"margin": 0.271,
|
||||
"top3": [
|
||||
[
|
||||
"tidehunter",
|
||||
0.528
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.257
|
||||
],
|
||||
[
|
||||
"lich",
|
||||
0.208
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "lich",
|
||||
"raw_best": "lich",
|
||||
"score": 0.96,
|
||||
"margin": 0.703,
|
||||
"top3": [
|
||||
[
|
||||
"lich",
|
||||
0.96
|
||||
],
|
||||
[
|
||||
"warlock",
|
||||
0.257
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.201
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.912,
|
||||
"margin": 0.576,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.912
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.336
|
||||
],
|
||||
[
|
||||
"furion",
|
||||
0.324
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.706,
|
||||
"margin": 0.338,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.706
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.368
|
||||
],
|
||||
[
|
||||
"zuus",
|
||||
0.298
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "undying",
|
||||
"raw_best": "undying",
|
||||
"score": 0.877,
|
||||
"margin": 0.441,
|
||||
"top3": [
|
||||
[
|
||||
"undying",
|
||||
0.877
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.437
|
||||
],
|
||||
[
|
||||
"faceless_void",
|
||||
0.387
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "death_prophet",
|
||||
"raw_best": "death_prophet",
|
||||
"score": 1.0,
|
||||
"margin": 0.601,
|
||||
"top3": [
|
||||
[
|
||||
"death_prophet",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.399
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.382
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "dragon_knight",
|
||||
"raw_best": "dragon_knight",
|
||||
"score": 0.917,
|
||||
"margin": 0.629,
|
||||
"top3": [
|
||||
[
|
||||
"dragon_knight",
|
||||
0.917
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.289
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.209
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.955,
|
||||
"margin": 0.583,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.955
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.372
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.316
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 1.0,
|
||||
"margin": 0.641,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.359
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.321
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "vengefulspirit",
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 1.0,
|
||||
"margin": 0.728,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.272
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.269
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.98,
|
||||
"margin": 0.704,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.98
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.276
|
||||
],
|
||||
[
|
||||
"bristleback",
|
||||
0.263
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "tidehunter",
|
||||
"raw_best": "tidehunter",
|
||||
"score": 0.968,
|
||||
"margin": 0.71,
|
||||
"top3": [
|
||||
[
|
||||
"tidehunter",
|
||||
0.968
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.258
|
||||
],
|
||||
[
|
||||
"lich",
|
||||
0.199
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "zuus",
|
||||
"raw_best": "zuus",
|
||||
"score": 1.0,
|
||||
"margin": 0.691,
|
||||
"top3": [
|
||||
[
|
||||
"zuus",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.309
|
||||
],
|
||||
[
|
||||
"dark_willow",
|
||||
0.243
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.974,
|
||||
"margin": 0.631,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.974
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.342
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.327
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 10,
|
||||
"library_size": 167,
|
||||
"elapsed_ms": 497,
|
||||
"match_id": "0",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 15:10:21",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_151021.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "undying",
|
||||
"raw_best": "undying",
|
||||
"score": 0.877,
|
||||
"margin": 0.441,
|
||||
"top3": [
|
||||
[
|
||||
"undying",
|
||||
0.877
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.437
|
||||
],
|
||||
[
|
||||
"faceless_void",
|
||||
0.387
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "death_prophet",
|
||||
"raw_best": "death_prophet",
|
||||
"score": 1.0,
|
||||
"margin": 0.601,
|
||||
"top3": [
|
||||
[
|
||||
"death_prophet",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.399
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.382
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "dragon_knight",
|
||||
"raw_best": "dragon_knight",
|
||||
"score": 0.917,
|
||||
"margin": 0.629,
|
||||
"top3": [
|
||||
[
|
||||
"dragon_knight",
|
||||
0.917
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.289
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.209
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.955,
|
||||
"margin": 0.583,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.955
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.372
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.316
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 1.0,
|
||||
"margin": 0.641,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.359
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.321
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "vengefulspirit",
|
||||
"raw_best": "vengefulspirit",
|
||||
"score": 1.0,
|
||||
"margin": 0.728,
|
||||
"top3": [
|
||||
[
|
||||
"vengefulspirit",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.272
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.269
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "warlock",
|
||||
"raw_best": "warlock",
|
||||
"score": 0.98,
|
||||
"margin": 0.704,
|
||||
"top3": [
|
||||
[
|
||||
"warlock",
|
||||
0.98
|
||||
],
|
||||
[
|
||||
"treant",
|
||||
0.276
|
||||
],
|
||||
[
|
||||
"bristleback",
|
||||
0.263
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "tidehunter",
|
||||
"raw_best": "tidehunter",
|
||||
"score": 0.968,
|
||||
"margin": 0.71,
|
||||
"top3": [
|
||||
[
|
||||
"tidehunter",
|
||||
0.968
|
||||
],
|
||||
[
|
||||
"juggernaut",
|
||||
0.258
|
||||
],
|
||||
[
|
||||
"lich",
|
||||
0.199
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "zuus",
|
||||
"raw_best": "zuus",
|
||||
"score": 1.0,
|
||||
"margin": 0.691,
|
||||
"top3": [
|
||||
[
|
||||
"zuus",
|
||||
1.0
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.309
|
||||
],
|
||||
[
|
||||
"dark_willow",
|
||||
0.243
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "sven",
|
||||
"raw_best": "sven",
|
||||
"score": 0.974,
|
||||
"margin": 0.631,
|
||||
"top3": [
|
||||
[
|
||||
"sven",
|
||||
0.974
|
||||
],
|
||||
[
|
||||
"lion",
|
||||
0.342
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.327
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": null,
|
||||
"raw_best": "bounty_hunter",
|
||||
"score": 0.283,
|
||||
"margin": 0.01,
|
||||
"top3": [
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.283
|
||||
],
|
||||
[
|
||||
"grimstroke",
|
||||
0.273
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.257
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.793,
|
||||
"margin": 0.431,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.793
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.362
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.328
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 0.717,
|
||||
"margin": 0.448,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
0.717
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.27
|
||||
],
|
||||
[
|
||||
"spirit_breaker",
|
||||
0.178
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "invoker",
|
||||
"raw_best": "invoker",
|
||||
"score": 0.839,
|
||||
"margin": 0.385,
|
||||
"top3": [
|
||||
[
|
||||
"invoker",
|
||||
0.839
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.454
|
||||
],
|
||||
[
|
||||
"sand_king",
|
||||
0.445
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "silencer",
|
||||
"raw_best": "silencer",
|
||||
"score": 0.577,
|
||||
"margin": 0.43,
|
||||
"top3": [
|
||||
[
|
||||
"silencer",
|
||||
0.577
|
||||
],
|
||||
[
|
||||
"troll_warlord",
|
||||
0.147
|
||||
],
|
||||
[
|
||||
"necrolyte",
|
||||
0.137
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "skywrath_mage",
|
||||
"raw_best": "skywrath_mage",
|
||||
"score": 0.61,
|
||||
"margin": 0.282,
|
||||
"top3": [
|
||||
[
|
||||
"skywrath_mage",
|
||||
0.61
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.328
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.322
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "phantom_assassin",
|
||||
"raw_best": "phantom_assassin",
|
||||
"score": 0.621,
|
||||
"margin": 0.382,
|
||||
"top3": [
|
||||
[
|
||||
"phantom_assassin",
|
||||
0.621
|
||||
],
|
||||
[
|
||||
"crystal_maiden",
|
||||
0.24
|
||||
],
|
||||
[
|
||||
"drow_ranger",
|
||||
0.235
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "queenofpain",
|
||||
"raw_best": "queenofpain",
|
||||
"score": 0.686,
|
||||
"margin": 0.395,
|
||||
"top3": [
|
||||
[
|
||||
"queenofpain",
|
||||
0.686
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.291
|
||||
],
|
||||
[
|
||||
"drow_ranger",
|
||||
0.283
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "centaur",
|
||||
"raw_best": "centaur",
|
||||
"score": 0.71,
|
||||
"margin": 0.428,
|
||||
"top3": [
|
||||
[
|
||||
"centaur",
|
||||
0.71
|
||||
],
|
||||
[
|
||||
"sven",
|
||||
0.282
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.281
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "rubick",
|
||||
"raw_best": "rubick",
|
||||
"score": 0.623,
|
||||
"margin": 0.415,
|
||||
"top3": [
|
||||
[
|
||||
"rubick",
|
||||
0.623
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.208
|
||||
],
|
||||
[
|
||||
"elder_titan",
|
||||
0.153
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 9,
|
||||
"library_size": 177,
|
||||
"elapsed_ms": 492,
|
||||
"match_id": "8912562036",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 15:18:28",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_151828.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": null,
|
||||
"raw_best": "bounty_hunter",
|
||||
"score": 0.283,
|
||||
"margin": 0.01,
|
||||
"top3": [
|
||||
[
|
||||
"bounty_hunter",
|
||||
0.283
|
||||
],
|
||||
[
|
||||
"grimstroke",
|
||||
0.273
|
||||
],
|
||||
[
|
||||
"witch_doctor",
|
||||
0.257
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.793,
|
||||
"margin": 0.431,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.793
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.362
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.328
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "sniper",
|
||||
"raw_best": "sniper",
|
||||
"score": 0.717,
|
||||
"margin": 0.448,
|
||||
"top3": [
|
||||
[
|
||||
"sniper",
|
||||
0.717
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.27
|
||||
],
|
||||
[
|
||||
"spirit_breaker",
|
||||
0.178
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "invoker",
|
||||
"raw_best": "invoker",
|
||||
"score": 0.839,
|
||||
"margin": 0.385,
|
||||
"top3": [
|
||||
[
|
||||
"invoker",
|
||||
0.839
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.454
|
||||
],
|
||||
[
|
||||
"sand_king",
|
||||
0.445
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "silencer",
|
||||
"raw_best": "silencer",
|
||||
"score": 0.577,
|
||||
"margin": 0.43,
|
||||
"top3": [
|
||||
[
|
||||
"silencer",
|
||||
0.577
|
||||
],
|
||||
[
|
||||
"troll_warlord",
|
||||
0.147
|
||||
],
|
||||
[
|
||||
"necrolyte",
|
||||
0.137
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "skywrath_mage",
|
||||
"raw_best": "skywrath_mage",
|
||||
"score": 0.61,
|
||||
"margin": 0.282,
|
||||
"top3": [
|
||||
[
|
||||
"skywrath_mage",
|
||||
0.61
|
||||
],
|
||||
[
|
||||
"undying",
|
||||
0.328
|
||||
],
|
||||
[
|
||||
"ogre_magi",
|
||||
0.322
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "phantom_assassin",
|
||||
"raw_best": "phantom_assassin",
|
||||
"score": 0.621,
|
||||
"margin": 0.382,
|
||||
"top3": [
|
||||
[
|
||||
"phantom_assassin",
|
||||
0.621
|
||||
],
|
||||
[
|
||||
"crystal_maiden",
|
||||
0.24
|
||||
],
|
||||
[
|
||||
"drow_ranger",
|
||||
0.235
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "queenofpain",
|
||||
"raw_best": "queenofpain",
|
||||
"score": 0.686,
|
||||
"margin": 0.395,
|
||||
"top3": [
|
||||
[
|
||||
"queenofpain",
|
||||
0.686
|
||||
],
|
||||
[
|
||||
"lycan",
|
||||
0.291
|
||||
],
|
||||
[
|
||||
"drow_ranger",
|
||||
0.283
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "centaur",
|
||||
"raw_best": "centaur",
|
||||
"score": 0.71,
|
||||
"margin": 0.428,
|
||||
"top3": [
|
||||
[
|
||||
"centaur",
|
||||
0.71
|
||||
],
|
||||
[
|
||||
"sven",
|
||||
0.282
|
||||
],
|
||||
[
|
||||
"ringmaster",
|
||||
0.281
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "rubick",
|
||||
"raw_best": "rubick",
|
||||
"score": 0.623,
|
||||
"margin": 0.415,
|
||||
"top3": [
|
||||
[
|
||||
"rubick",
|
||||
0.623
|
||||
],
|
||||
[
|
||||
"death_prophet",
|
||||
0.208
|
||||
],
|
||||
[
|
||||
"elder_titan",
|
||||
0.153
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,436 @@
|
||||
{
|
||||
"radiant": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "clinkz",
|
||||
"raw_best": "clinkz",
|
||||
"score": 0.873,
|
||||
"margin": 0.478,
|
||||
"top3": [
|
||||
[
|
||||
"clinkz",
|
||||
0.873
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.395
|
||||
],
|
||||
[
|
||||
"centaur",
|
||||
0.392
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.962,
|
||||
"margin": 0.672,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.962
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.29
|
||||
],
|
||||
[
|
||||
"tiny",
|
||||
0.26
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "abyssal_underlord",
|
||||
"raw_best": "abyssal_underlord",
|
||||
"score": 0.878,
|
||||
"margin": 0.418,
|
||||
"top3": [
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.878
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.46
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.432
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "pudge",
|
||||
"raw_best": "pudge",
|
||||
"score": 0.884,
|
||||
"margin": 0.359,
|
||||
"top3": [
|
||||
[
|
||||
"pudge",
|
||||
0.884
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.526
|
||||
],
|
||||
[
|
||||
"centaur",
|
||||
0.443
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.902,
|
||||
"margin": 0.491,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.902
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.411
|
||||
],
|
||||
[
|
||||
"arc_warden",
|
||||
0.317
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"dire": [
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "life_stealer",
|
||||
"raw_best": "life_stealer",
|
||||
"score": 0.894,
|
||||
"margin": 0.525,
|
||||
"top3": [
|
||||
[
|
||||
"life_stealer",
|
||||
0.894
|
||||
],
|
||||
[
|
||||
"dawnbreaker",
|
||||
0.369
|
||||
],
|
||||
[
|
||||
"silencer",
|
||||
0.313
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "weaver",
|
||||
"raw_best": "weaver",
|
||||
"score": 0.877,
|
||||
"margin": 0.379,
|
||||
"top3": [
|
||||
[
|
||||
"weaver",
|
||||
0.877
|
||||
],
|
||||
[
|
||||
"sven",
|
||||
0.498
|
||||
],
|
||||
[
|
||||
"spirit_breaker",
|
||||
0.497
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "skywrath_mage",
|
||||
"raw_best": "skywrath_mage",
|
||||
"score": 0.998,
|
||||
"margin": 0.701,
|
||||
"top3": [
|
||||
[
|
||||
"skywrath_mage",
|
||||
0.998
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.297
|
||||
],
|
||||
[
|
||||
"sand_king",
|
||||
0.259
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.972,
|
||||
"margin": 0.621,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.972
|
||||
],
|
||||
[
|
||||
"phantom_assassin",
|
||||
0.351
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.305
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "storm_spirit",
|
||||
"raw_best": "storm_spirit",
|
||||
"score": 0.821,
|
||||
"margin": 0.306,
|
||||
"top3": [
|
||||
[
|
||||
"storm_spirit",
|
||||
0.821
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.515
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.46
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"recognized": 10,
|
||||
"ranked_overlay": true,
|
||||
"library_size": 187,
|
||||
"elapsed_ms": 507,
|
||||
"match_id": "8912632259",
|
||||
"trigger_state": "DOTA_GAMERULES_STATE_STRATEGY_TIME",
|
||||
"captured_at": "2026-07-25 16:24:04",
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_162404.png",
|
||||
"slots": [
|
||||
{
|
||||
"slot": 1,
|
||||
"hero": "clinkz",
|
||||
"raw_best": "clinkz",
|
||||
"score": 0.873,
|
||||
"margin": 0.478,
|
||||
"top3": [
|
||||
[
|
||||
"clinkz",
|
||||
0.873
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.395
|
||||
],
|
||||
[
|
||||
"centaur",
|
||||
0.392
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"hero": "witch_doctor",
|
||||
"raw_best": "witch_doctor",
|
||||
"score": 0.962,
|
||||
"margin": 0.672,
|
||||
"top3": [
|
||||
[
|
||||
"witch_doctor",
|
||||
0.962
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.29
|
||||
],
|
||||
[
|
||||
"tiny",
|
||||
0.26
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"hero": "abyssal_underlord",
|
||||
"raw_best": "abyssal_underlord",
|
||||
"score": 0.878,
|
||||
"margin": 0.418,
|
||||
"top3": [
|
||||
[
|
||||
"abyssal_underlord",
|
||||
0.878
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.46
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.432
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"hero": "pudge",
|
||||
"raw_best": "pudge",
|
||||
"score": 0.884,
|
||||
"margin": 0.359,
|
||||
"top3": [
|
||||
[
|
||||
"pudge",
|
||||
0.884
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.526
|
||||
],
|
||||
[
|
||||
"centaur",
|
||||
0.443
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"hero": "drow_ranger",
|
||||
"raw_best": "drow_ranger",
|
||||
"score": 0.902,
|
||||
"margin": 0.491,
|
||||
"top3": [
|
||||
[
|
||||
"drow_ranger",
|
||||
0.902
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.411
|
||||
],
|
||||
[
|
||||
"arc_warden",
|
||||
0.317
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"hero": "life_stealer",
|
||||
"raw_best": "life_stealer",
|
||||
"score": 0.894,
|
||||
"margin": 0.525,
|
||||
"top3": [
|
||||
[
|
||||
"life_stealer",
|
||||
0.894
|
||||
],
|
||||
[
|
||||
"dawnbreaker",
|
||||
0.369
|
||||
],
|
||||
[
|
||||
"silencer",
|
||||
0.313
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"hero": "weaver",
|
||||
"raw_best": "weaver",
|
||||
"score": 0.877,
|
||||
"margin": 0.379,
|
||||
"top3": [
|
||||
[
|
||||
"weaver",
|
||||
0.877
|
||||
],
|
||||
[
|
||||
"sven",
|
||||
0.498
|
||||
],
|
||||
[
|
||||
"spirit_breaker",
|
||||
0.497
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"hero": "skywrath_mage",
|
||||
"raw_best": "skywrath_mage",
|
||||
"score": 0.998,
|
||||
"margin": 0.701,
|
||||
"top3": [
|
||||
[
|
||||
"skywrath_mage",
|
||||
0.998
|
||||
],
|
||||
[
|
||||
"legion_commander",
|
||||
0.297
|
||||
],
|
||||
[
|
||||
"sand_king",
|
||||
0.259
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"hero": "skeleton_king",
|
||||
"raw_best": "skeleton_king",
|
||||
"score": 0.972,
|
||||
"margin": 0.621,
|
||||
"top3": [
|
||||
[
|
||||
"skeleton_king",
|
||||
0.972
|
||||
],
|
||||
[
|
||||
"phantom_assassin",
|
||||
0.351
|
||||
],
|
||||
[
|
||||
"invoker",
|
||||
0.305
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"hero": "storm_spirit",
|
||||
"raw_best": "storm_spirit",
|
||||
"score": 0.821,
|
||||
"margin": 0.306,
|
||||
"top3": [
|
||||
[
|
||||
"storm_spirit",
|
||||
0.821
|
||||
],
|
||||
[
|
||||
"wisp",
|
||||
0.515
|
||||
],
|
||||
[
|
||||
"skeleton_king",
|
||||
0.46
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"match_id": "8912704440",
|
||||
"captured_at": "2026-07-25 17:25:30",
|
||||
"duration_s": 111.0,
|
||||
"polls": 70,
|
||||
"self": {
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "life_stealer",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"1": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "queenofpain"
|
||||
},
|
||||
"2": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "lina"
|
||||
},
|
||||
"3": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "life_stealer"
|
||||
},
|
||||
"4": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "lion"
|
||||
},
|
||||
"5": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": null
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"queenofpain",
|
||||
"lina",
|
||||
"life_stealer",
|
||||
"lion",
|
||||
null
|
||||
],
|
||||
"dire": [
|
||||
"spectre",
|
||||
"lich",
|
||||
"earth_spirit",
|
||||
"undying",
|
||||
"necrolyte"
|
||||
]
|
||||
},
|
||||
"recognized": 9,
|
||||
"timeline": [
|
||||
{
|
||||
"t": 13.8,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "lina"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"lina"
|
||||
],
|
||||
"dire": [],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172352.png"
|
||||
},
|
||||
{
|
||||
"t": 30.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "lion"
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "lich"
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "undying"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"lina",
|
||||
"lion"
|
||||
],
|
||||
"dire": [
|
||||
"lich",
|
||||
"undying"
|
||||
],
|
||||
"count": 4,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172409.png"
|
||||
},
|
||||
{
|
||||
"t": 52.9,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "life_stealer"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"lina",
|
||||
"life_stealer",
|
||||
"lion"
|
||||
],
|
||||
"dire": [
|
||||
"lich",
|
||||
"undying"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172431.png"
|
||||
},
|
||||
{
|
||||
"t": 54.6,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "queenofpain"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "spectre"
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "earth_spirit"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"queenofpain",
|
||||
"lina",
|
||||
"life_stealer",
|
||||
"lion"
|
||||
],
|
||||
"dire": [
|
||||
"spectre",
|
||||
"lich",
|
||||
"earth_spirit",
|
||||
"undying"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172433.png"
|
||||
},
|
||||
{
|
||||
"t": 82.2,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "necrolyte"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"queenofpain",
|
||||
"lina",
|
||||
"life_stealer",
|
||||
"lion"
|
||||
],
|
||||
"dire": [
|
||||
"spectre",
|
||||
"lich",
|
||||
"earth_spirit",
|
||||
"undying",
|
||||
"necrolyte"
|
||||
],
|
||||
"count": 9,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172501.png"
|
||||
}
|
||||
],
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_172530.png"
|
||||
}
|
||||
@@ -0,0 +1,250 @@
|
||||
{
|
||||
"match_id": "8912791143",
|
||||
"captured_at": "2026-07-25 18:38:26",
|
||||
"duration_s": 124.4,
|
||||
"polls": 84,
|
||||
"self": {
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "drow_ranger",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"6": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "witch_doctor"
|
||||
},
|
||||
"7": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": null
|
||||
},
|
||||
"8": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "faceless_void"
|
||||
},
|
||||
"9": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "drow_ranger"
|
||||
},
|
||||
"10": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "queenofpain"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"razor",
|
||||
"nyx_assassin",
|
||||
"hoodwink",
|
||||
"zuus",
|
||||
"antimage"
|
||||
],
|
||||
"dire": [
|
||||
"witch_doctor",
|
||||
null,
|
||||
"faceless_void",
|
||||
"drow_ranger",
|
||||
"queenofpain"
|
||||
]
|
||||
},
|
||||
"recognized": 9,
|
||||
"timeline": [
|
||||
{
|
||||
"t": 11.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "drow_ranger"
|
||||
}
|
||||
],
|
||||
"radiant": [],
|
||||
"dire": [
|
||||
"drow_ranger"
|
||||
],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183633.png"
|
||||
},
|
||||
{
|
||||
"t": 25.7,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "faceless_void"
|
||||
}
|
||||
],
|
||||
"radiant": [],
|
||||
"dire": [
|
||||
"faceless_void",
|
||||
"drow_ranger"
|
||||
],
|
||||
"count": 2,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183648.png"
|
||||
},
|
||||
{
|
||||
"t": 39.2,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "razor"
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "zuus"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "witch_doctor"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"razor",
|
||||
"zuus"
|
||||
],
|
||||
"dire": [
|
||||
"witch_doctor",
|
||||
"faceless_void",
|
||||
"drow_ranger"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183701.png"
|
||||
},
|
||||
{
|
||||
"t": 40.7,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "queenofpain"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"razor",
|
||||
"zuus"
|
||||
],
|
||||
"dire": [
|
||||
"witch_doctor",
|
||||
"faceless_void",
|
||||
"drow_ranger",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 6,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183703.png"
|
||||
},
|
||||
{
|
||||
"t": 62.9,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "nyx_assassin"
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "antimage"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"razor",
|
||||
"nyx_assassin",
|
||||
"zuus",
|
||||
"antimage"
|
||||
],
|
||||
"dire": [
|
||||
"witch_doctor",
|
||||
"faceless_void",
|
||||
"drow_ranger",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183725.png"
|
||||
},
|
||||
{
|
||||
"t": 96.8,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "hoodwink"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"razor",
|
||||
"nyx_assassin",
|
||||
"hoodwink",
|
||||
"zuus",
|
||||
"antimage"
|
||||
],
|
||||
"dire": [
|
||||
"witch_doctor",
|
||||
"faceless_void",
|
||||
"drow_ranger",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 9,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183759.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"venomancer",
|
||||
"obsidian_destroyer",
|
||||
"necrolyte",
|
||||
"silencer",
|
||||
"ursa",
|
||||
"nevermore",
|
||||
"lina",
|
||||
"lion",
|
||||
"magnataur",
|
||||
"ember_spirit",
|
||||
"snapfire",
|
||||
"alchemist",
|
||||
"windrunner",
|
||||
"sniper",
|
||||
"pudge",
|
||||
"abyssal_underlord"
|
||||
],
|
||||
"bans_loc": [
|
||||
"剧毒术士",
|
||||
"殁境神蚀者",
|
||||
"瘟疫法师",
|
||||
"沉默术士",
|
||||
"熊战士",
|
||||
"影魔",
|
||||
"莉娜",
|
||||
"莱恩",
|
||||
"马格纳斯",
|
||||
"灰烬之灵",
|
||||
"电炎绝手",
|
||||
"炼金术士",
|
||||
"风行者",
|
||||
"狙击手",
|
||||
"帕吉",
|
||||
"孽主"
|
||||
],
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_183826.png"
|
||||
}
|
||||
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"match_id": "8912846004",
|
||||
"captured_at": "2026-07-25 19:21:11",
|
||||
"duration_s": 65.7,
|
||||
"polls": 45,
|
||||
"self": {
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "juggernaut",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"2": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "juggernaut"
|
||||
},
|
||||
"3": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "shadow_shaman"
|
||||
},
|
||||
"4": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "death_prophet"
|
||||
},
|
||||
"5": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "tidehunter"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"necrolyte",
|
||||
"juggernaut",
|
||||
"shadow_shaman",
|
||||
"death_prophet",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"invoker",
|
||||
"hoodwink",
|
||||
"axe",
|
||||
"earthshaker",
|
||||
"skeleton_king"
|
||||
]
|
||||
},
|
||||
"recognized": 10,
|
||||
"timeline": [
|
||||
{
|
||||
"t": 7.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "tidehunter"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192012.png"
|
||||
},
|
||||
{
|
||||
"t": 10.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "shadow_shaman"
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "hoodwink"
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "earthshaker"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"shadow_shaman",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"earthshaker"
|
||||
],
|
||||
"count": 4,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192015.png"
|
||||
},
|
||||
{
|
||||
"t": 13.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "juggernaut"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"spectre",
|
||||
"shadow_shaman",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"earthshaker"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192018.png"
|
||||
},
|
||||
{
|
||||
"t": 32.2,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "death_prophet"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"spectre",
|
||||
"shadow_shaman",
|
||||
"death_prophet",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"earthshaker"
|
||||
],
|
||||
"count": 6,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192038.png"
|
||||
},
|
||||
{
|
||||
"t": 36.6,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "axe"
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "skeleton_king"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"spectre",
|
||||
"shadow_shaman",
|
||||
"death_prophet",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"axe",
|
||||
"earthshaker",
|
||||
"skeleton_king"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192042.png"
|
||||
},
|
||||
{
|
||||
"t": 65.6,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "necrolyte"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "invoker"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"necrolyte",
|
||||
"spectre",
|
||||
"shadow_shaman",
|
||||
"death_prophet",
|
||||
"tidehunter"
|
||||
],
|
||||
"dire": [
|
||||
"invoker",
|
||||
"hoodwink",
|
||||
"axe",
|
||||
"earthshaker",
|
||||
"skeleton_king"
|
||||
],
|
||||
"count": 10,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192111.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"disruptor",
|
||||
"phantom_lancer",
|
||||
"lion",
|
||||
"zuus",
|
||||
"rubick",
|
||||
"silencer",
|
||||
"weaver",
|
||||
"dark_willow",
|
||||
"abyssal_underlord",
|
||||
"windrunner",
|
||||
"medusa",
|
||||
"razor",
|
||||
"pudge",
|
||||
"bristleback",
|
||||
"drow_ranger",
|
||||
"sniper",
|
||||
"huskar"
|
||||
],
|
||||
"bans_loc": [
|
||||
"干扰者",
|
||||
"幻影长矛手",
|
||||
"莱恩",
|
||||
"宙斯",
|
||||
"拉比克",
|
||||
"沉默术士",
|
||||
"编织者",
|
||||
"邪影芳灵",
|
||||
"孽主",
|
||||
"风行者",
|
||||
"美杜莎",
|
||||
"雷泽",
|
||||
"帕吉",
|
||||
"钢背兽",
|
||||
"卓尔游侠",
|
||||
"狙击手",
|
||||
"哈斯卡"
|
||||
],
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_192111_1.png"
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"match_id": "8912903800",
|
||||
"captured_at": "2026-07-25 20:03:24",
|
||||
"duration_s": 80.0,
|
||||
"polls": 51,
|
||||
"self": {
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "bloodseeker",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"1": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "pudge"
|
||||
},
|
||||
"2": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "venomancer"
|
||||
},
|
||||
"3": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "weaver"
|
||||
},
|
||||
"4": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "kunkka"
|
||||
},
|
||||
"5": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "bloodseeker"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"pudge",
|
||||
"venomancer",
|
||||
"weaver",
|
||||
"kunkka",
|
||||
"bloodseeker"
|
||||
],
|
||||
"dire": [
|
||||
"undying",
|
||||
"warlock",
|
||||
"luna",
|
||||
"hoodwink",
|
||||
"queenofpain"
|
||||
]
|
||||
},
|
||||
"recognized": 10,
|
||||
"timeline": [
|
||||
{
|
||||
"t": 5.7,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "pudge"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"pudge"
|
||||
],
|
||||
"dire": [],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200210.png"
|
||||
},
|
||||
{
|
||||
"t": 28.4,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "venomancer"
|
||||
},
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "hoodwink"
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "queenofpain"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"pudge",
|
||||
"venomancer"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 4,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200233.png"
|
||||
},
|
||||
{
|
||||
"t": 51.2,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "weaver"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"pudge",
|
||||
"venomancer",
|
||||
"weaver"
|
||||
],
|
||||
"dire": [
|
||||
"hoodwink",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200256.png"
|
||||
},
|
||||
{
|
||||
"t": 54.3,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "bloodseeker"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "undying"
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "warlock"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"pudge",
|
||||
"venomancer",
|
||||
"weaver",
|
||||
"bloodseeker"
|
||||
],
|
||||
"dire": [
|
||||
"undying",
|
||||
"warlock",
|
||||
"hoodwink",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200259.png"
|
||||
},
|
||||
{
|
||||
"t": 79.9,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "kunkka"
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "luna"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"pudge",
|
||||
"venomancer",
|
||||
"weaver",
|
||||
"kunkka",
|
||||
"bloodseeker"
|
||||
],
|
||||
"dire": [
|
||||
"undying",
|
||||
"warlock",
|
||||
"luna",
|
||||
"hoodwink",
|
||||
"queenofpain"
|
||||
],
|
||||
"count": 10,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200324.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"disruptor",
|
||||
"skywrath_mage",
|
||||
"phantom_assassin",
|
||||
"lich",
|
||||
"lion",
|
||||
"meepo",
|
||||
"riki",
|
||||
"tidehunter",
|
||||
"axe",
|
||||
"abyssal_underlord",
|
||||
"tusk",
|
||||
"phoenix",
|
||||
"legion_commander",
|
||||
"snapfire",
|
||||
"bounty_hunter",
|
||||
"sniper"
|
||||
],
|
||||
"bans_loc": [
|
||||
"干扰者",
|
||||
"天怒法师",
|
||||
"幻影刺客",
|
||||
"巫妖",
|
||||
"莱恩",
|
||||
"米波",
|
||||
"力丸",
|
||||
"潮汐猎人",
|
||||
"斧王",
|
||||
"孽主",
|
||||
"巨牙海民",
|
||||
"凤凰",
|
||||
"军团指挥官",
|
||||
"电炎绝手",
|
||||
"赏金猎人",
|
||||
"狙击手"
|
||||
],
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_200324_1.png"
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"match_id": "8913003670",
|
||||
"captured_at": "2026-07-25 21:07:27",
|
||||
"duration_s": 116.2,
|
||||
"polls": 76,
|
||||
"self": {
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "juggernaut",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"6": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": null
|
||||
},
|
||||
"7": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": null
|
||||
},
|
||||
"8": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": null
|
||||
},
|
||||
"9": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": null
|
||||
},
|
||||
"10": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "juggernaut"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"spirit_breaker",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"dire": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
"juggernaut"
|
||||
]
|
||||
},
|
||||
"recognized": 2,
|
||||
"revisions": [],
|
||||
"timeline": [
|
||||
{
|
||||
"t": 42.0,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "spirit_breaker"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"spirit_breaker"
|
||||
],
|
||||
"dire": [],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_210612.png"
|
||||
},
|
||||
{
|
||||
"t": 56.9,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "invoker"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"spirit_breaker"
|
||||
],
|
||||
"dire": [
|
||||
"invoker"
|
||||
],
|
||||
"count": 2,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_210627.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"invoker",
|
||||
"zuus",
|
||||
"pugna",
|
||||
"silencer",
|
||||
"nevermore",
|
||||
"nyx_assassin",
|
||||
"magnataur",
|
||||
"lion",
|
||||
"pudge",
|
||||
"gyrocopter",
|
||||
"storm_spirit",
|
||||
"mirana",
|
||||
"axe",
|
||||
"pangolier",
|
||||
"abyssal_underlord",
|
||||
"sven",
|
||||
"legion_commander",
|
||||
"dawnbreaker"
|
||||
],
|
||||
"bans_loc": [
|
||||
"祈求者",
|
||||
"宙斯",
|
||||
"帕格纳",
|
||||
"沉默术士",
|
||||
"影魔",
|
||||
"司夜刺客",
|
||||
"马格纳斯",
|
||||
"莱恩",
|
||||
"帕吉",
|
||||
"矮人直升机",
|
||||
"风暴之灵",
|
||||
"米拉娜",
|
||||
"斧王",
|
||||
"石鳞剑士",
|
||||
"孽主",
|
||||
"斯温",
|
||||
"军团指挥官",
|
||||
"破晓辰星"
|
||||
],
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_210727.png"
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
{
|
||||
"match_id": "8913098624",
|
||||
"captured_at": "2026-07-25 22:02:49",
|
||||
"duration_s": 12.3,
|
||||
"polls": 8,
|
||||
"self": {
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "phantom_lancer",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"6": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "lina"
|
||||
},
|
||||
"7": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "phantom_lancer"
|
||||
},
|
||||
"8": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "necrolyte"
|
||||
},
|
||||
"9": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "zuus"
|
||||
},
|
||||
"10": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "lion"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"weaver",
|
||||
"huskar",
|
||||
"venomancer",
|
||||
"furion",
|
||||
"juggernaut"
|
||||
],
|
||||
"dire": [
|
||||
"lina",
|
||||
"phantom_lancer",
|
||||
"necrolyte",
|
||||
"zuus",
|
||||
"lion"
|
||||
]
|
||||
},
|
||||
"recognized": 9,
|
||||
"revisions": [],
|
||||
"timeline": [
|
||||
{
|
||||
"t": 2.1,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "weaver"
|
||||
},
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "huskar"
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "venomancer"
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "furion"
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "juggernaut"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "lina"
|
||||
},
|
||||
{
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "phantom_lancer"
|
||||
},
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "necrolyte"
|
||||
},
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "lion"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"weaver",
|
||||
"huskar",
|
||||
"venomancer",
|
||||
"furion",
|
||||
"juggernaut"
|
||||
],
|
||||
"dire": [
|
||||
"lina",
|
||||
"phantom_lancer",
|
||||
"necrolyte",
|
||||
"lion"
|
||||
],
|
||||
"count": 9,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_220239.png"
|
||||
}
|
||||
],
|
||||
"best_lineup": {
|
||||
"recognized": 10,
|
||||
"t": 0.1,
|
||||
"state": "STRATEGY_TIME",
|
||||
"heroes": [
|
||||
"weaver",
|
||||
"huskar",
|
||||
"venomancer",
|
||||
"furion",
|
||||
"juggernaut",
|
||||
"lina",
|
||||
"phantom_lancer",
|
||||
"necrolyte",
|
||||
"zuus",
|
||||
"lion"
|
||||
],
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_220249.png"
|
||||
},
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_220249.png"
|
||||
}
|
||||
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"match_id": "8913190580",
|
||||
"captured_at": "2026-07-25 22:54:09",
|
||||
"duration_s": 119.6,
|
||||
"polls": 81,
|
||||
"self": {
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "templar_assassin",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"6": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "windrunner"
|
||||
},
|
||||
"7": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "slardar"
|
||||
},
|
||||
"8": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "lina"
|
||||
},
|
||||
"9": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "templar_assassin"
|
||||
},
|
||||
"10": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "void_spirit"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"undying",
|
||||
"rubick",
|
||||
"death_prophet",
|
||||
"legion_commander",
|
||||
"luna"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"slardar",
|
||||
"lina",
|
||||
"templar_assassin",
|
||||
"void_spirit"
|
||||
]
|
||||
},
|
||||
"recognized": 9,
|
||||
"revisions": [],
|
||||
"timeline": [
|
||||
{
|
||||
"t": 12.6,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "lina"
|
||||
}
|
||||
],
|
||||
"radiant": [],
|
||||
"dire": [
|
||||
"lina"
|
||||
],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225222.png"
|
||||
},
|
||||
{
|
||||
"t": 29.8,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "rubick"
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "legion_commander"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "windrunner"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"rubick",
|
||||
"legion_commander"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"lina"
|
||||
],
|
||||
"count": 4,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225239.png"
|
||||
},
|
||||
{
|
||||
"t": 43.4,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "templar_assassin"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"rubick",
|
||||
"legion_commander"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"lina",
|
||||
"templar_assassin"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225252.png"
|
||||
},
|
||||
{
|
||||
"t": 64.6,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "undying"
|
||||
},
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "luna"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"undying",
|
||||
"rubick",
|
||||
"legion_commander",
|
||||
"luna"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"lina",
|
||||
"templar_assassin"
|
||||
],
|
||||
"count": 7,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225314.png"
|
||||
},
|
||||
{
|
||||
"t": 84.4,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "void_spirit"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"undying",
|
||||
"rubick",
|
||||
"legion_commander",
|
||||
"luna"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"lina",
|
||||
"templar_assassin",
|
||||
"void_spirit"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225333.png"
|
||||
},
|
||||
{
|
||||
"t": 90.0,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "death_prophet"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"undying",
|
||||
"rubick",
|
||||
"death_prophet",
|
||||
"legion_commander",
|
||||
"luna"
|
||||
],
|
||||
"dire": [
|
||||
"windrunner",
|
||||
"lina",
|
||||
"templar_assassin",
|
||||
"void_spirit"
|
||||
],
|
||||
"count": 9,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_225339.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"leshrac",
|
||||
"techies",
|
||||
"bane",
|
||||
"antimage",
|
||||
"puck",
|
||||
"queenofpain",
|
||||
"magnataur",
|
||||
"ringmaster",
|
||||
"lion",
|
||||
"snapfire",
|
||||
"juggernaut",
|
||||
"clinkz",
|
||||
"axe",
|
||||
"treant",
|
||||
"pudge",
|
||||
"rattletrap"
|
||||
],
|
||||
"bans_loc": [
|
||||
"拉席克",
|
||||
"工程师",
|
||||
"祸乱之源",
|
||||
"敌法师",
|
||||
"帕克",
|
||||
"痛苦女王",
|
||||
"马格纳斯",
|
||||
"百戏大王",
|
||||
"莱恩",
|
||||
"电炎绝手",
|
||||
"主宰",
|
||||
"克林克兹",
|
||||
"斧王",
|
||||
"树精卫士",
|
||||
"帕吉",
|
||||
"发条技师"
|
||||
],
|
||||
"best_lineup": {
|
||||
"recognized": 9,
|
||||
"t": 101.0,
|
||||
"state": "STRATEGY_TIME",
|
||||
"heroes": [
|
||||
"undying",
|
||||
"rubick",
|
||||
"death_prophet",
|
||||
"legion_commander",
|
||||
"luna",
|
||||
null,
|
||||
"slardar",
|
||||
"lina",
|
||||
"templar_assassin",
|
||||
"void_spirit"
|
||||
],
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_225408.png"
|
||||
},
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_225408.png"
|
||||
}
|
||||
@@ -0,0 +1,273 @@
|
||||
{
|
||||
"match_id": "8913254704",
|
||||
"captured_at": "2026-07-25 23:30:32",
|
||||
"duration_s": 124.6,
|
||||
"polls": 84,
|
||||
"self": {
|
||||
"slot": 10,
|
||||
"team": "dire",
|
||||
"hero": "antimage",
|
||||
"role": "safe",
|
||||
"role_label": "优势路",
|
||||
"position": 1,
|
||||
"gsi_name": "refining"
|
||||
},
|
||||
"team_roles": {
|
||||
"6": {
|
||||
"position": 4,
|
||||
"label": "辅助",
|
||||
"hero": "snapfire"
|
||||
},
|
||||
"7": {
|
||||
"position": 2,
|
||||
"label": "中路",
|
||||
"hero": "sniper"
|
||||
},
|
||||
"8": {
|
||||
"position": 5,
|
||||
"label": "纯辅助",
|
||||
"hero": "abyssal_underlord"
|
||||
},
|
||||
"9": {
|
||||
"position": 3,
|
||||
"label": "劣势路",
|
||||
"hero": "undying"
|
||||
},
|
||||
"10": {
|
||||
"position": 1,
|
||||
"label": "优势路",
|
||||
"hero": "antimage"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"radiant": [
|
||||
"vengefulspirit",
|
||||
"earthshaker",
|
||||
"ogre_magi",
|
||||
"bristleback",
|
||||
"enchantress"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"sniper",
|
||||
"abyssal_underlord",
|
||||
"undying",
|
||||
"antimage"
|
||||
]
|
||||
},
|
||||
"recognized": 10,
|
||||
"revisions": [],
|
||||
"timeline": [
|
||||
{
|
||||
"t": 22.9,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 8,
|
||||
"team": "dire",
|
||||
"hero": "abyssal_underlord"
|
||||
}
|
||||
],
|
||||
"radiant": [],
|
||||
"dire": [
|
||||
"abyssal_underlord"
|
||||
],
|
||||
"count": 1,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_232850.png"
|
||||
},
|
||||
{
|
||||
"t": 35.3,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 1,
|
||||
"added": [
|
||||
{
|
||||
"slot": 2,
|
||||
"team": "radiant",
|
||||
"hero": "earthshaker"
|
||||
},
|
||||
{
|
||||
"slot": 3,
|
||||
"team": "radiant",
|
||||
"hero": "ogre_magi"
|
||||
},
|
||||
{
|
||||
"slot": 6,
|
||||
"team": "dire",
|
||||
"hero": "snapfire"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"earthshaker",
|
||||
"ogre_magi"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"abyssal_underlord"
|
||||
],
|
||||
"count": 4,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_232902.png"
|
||||
},
|
||||
{
|
||||
"t": 47.5,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 9,
|
||||
"team": "dire",
|
||||
"hero": "undying"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"earthshaker",
|
||||
"ogre_magi"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"abyssal_underlord",
|
||||
"undying"
|
||||
],
|
||||
"count": 5,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_232915.png"
|
||||
},
|
||||
{
|
||||
"t": 61.5,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 1,
|
||||
"team": "radiant",
|
||||
"hero": "vengefulspirit"
|
||||
},
|
||||
{
|
||||
"slot": 4,
|
||||
"team": "radiant",
|
||||
"hero": "bristleback"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"vengefulspirit",
|
||||
"earthshaker",
|
||||
"ogre_magi",
|
||||
"bristleback"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"abyssal_underlord",
|
||||
"undying"
|
||||
],
|
||||
"count": 7,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_232928.png"
|
||||
},
|
||||
{
|
||||
"t": 91.5,
|
||||
"state": "HERO_SELECTION",
|
||||
"round": 2,
|
||||
"added": [
|
||||
{
|
||||
"slot": 7,
|
||||
"team": "dire",
|
||||
"hero": "sniper"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"vengefulspirit",
|
||||
"earthshaker",
|
||||
"ogre_magi",
|
||||
"bristleback"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"sniper",
|
||||
"abyssal_underlord",
|
||||
"undying"
|
||||
],
|
||||
"count": 8,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_232959.png"
|
||||
},
|
||||
{
|
||||
"t": 95.4,
|
||||
"state": "STRATEGY_TIME",
|
||||
"round": 3,
|
||||
"added": [
|
||||
{
|
||||
"slot": 5,
|
||||
"team": "radiant",
|
||||
"hero": "enchantress"
|
||||
}
|
||||
],
|
||||
"radiant": [
|
||||
"vengefulspirit",
|
||||
"earthshaker",
|
||||
"ogre_magi",
|
||||
"bristleback",
|
||||
"enchantress"
|
||||
],
|
||||
"dire": [
|
||||
"snapfire",
|
||||
"sniper",
|
||||
"abyssal_underlord",
|
||||
"undying"
|
||||
],
|
||||
"count": 9,
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_233002.png"
|
||||
}
|
||||
],
|
||||
"bans": [
|
||||
"invoker",
|
||||
"meepo",
|
||||
"sven",
|
||||
"clinkz",
|
||||
"chaos_knight",
|
||||
"juggernaut",
|
||||
"slark",
|
||||
"elder_titan",
|
||||
"ember_spirit",
|
||||
"necrolyte",
|
||||
"kunkka",
|
||||
"lion",
|
||||
"magnataur",
|
||||
"monkey_king",
|
||||
"drow_ranger",
|
||||
"legion_commander"
|
||||
],
|
||||
"bans_loc": [
|
||||
"祈求者",
|
||||
"米波",
|
||||
"斯温",
|
||||
"克林克兹",
|
||||
"混沌骑士",
|
||||
"主宰",
|
||||
"斯拉克",
|
||||
"上古巨神",
|
||||
"灰烬之灵",
|
||||
"瘟疫法师",
|
||||
"昆卡",
|
||||
"莱恩",
|
||||
"马格纳斯",
|
||||
"齐天大圣",
|
||||
"卓尔游侠",
|
||||
"军团指挥官"
|
||||
],
|
||||
"best_lineup": {
|
||||
"recognized": 8,
|
||||
"t": 89.6,
|
||||
"state": "HERO_SELECTION",
|
||||
"heroes": [
|
||||
"vengefulspirit",
|
||||
"earthshaker",
|
||||
"ogre_magi",
|
||||
"bristleback",
|
||||
null,
|
||||
"snapfire",
|
||||
"sniper",
|
||||
"abyssal_underlord",
|
||||
"undying",
|
||||
null
|
||||
],
|
||||
"frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_233032.png"
|
||||
},
|
||||
"last_frame": "C:\\Users\\Administrator\\Documents\\wrok\\dota2-draft-vision\\samples\\raw\\draft_best_233032.png"
|
||||
}
|
||||
Reference in New Issue
Block a user