1. 目标
- 按序号显示所有120个家庭场景
- 统计单个场景里物体数量
2. 代码
import time
from ai2thor.controller import Controller
def count_objects_in_scene(controller):
objects = controller.last_event.metadata["objects"]
object_count = len(objects)
return object_count
controller = Controller(
width=1280,
height=720,
fieldOfView=110,
visibilityDistance=5,
renderInstanceSegmentation=True
)
input("请按任意键启动场景遍历:")
scene_ranges = [
range(1, 31),
range(201, 231),
range(301, 331),
range(401, 431)
]
for scene_range in scene_ranges:
for scene_number in scene_range:
selected_scene = f"FloorPlan{scene_number}"
controller.reset(selected_scene)
object_count = count_objects_in_scene(controller)
print(f"{selected_scene}场景中共有 {object_count} 个物体")
time.sleep(0.5)
3. 最终成果
