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) # 等待0.5秒后进入下一个场景
3. 最终成果
ithor全部场景