查看ITHOR全部仿真家庭场景

1. 目标

  1. 按序号显示所有120个家庭场景
  2. 统计单个场景里物体数量

2. 代码

python 复制代码
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全部场景

相关推荐
ambition2024211 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
chuan.bai13 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
离陌在学C#16 小时前
C# 事件(Event)详解:从概念到实战
开发语言·c#
Terra.K16 小时前
Java异常学习[特殊字符]
java·开发语言·学习
安_17 小时前
如何构建和使用向量索引?HNSW 和 IVF 有什么区别?
python·ai
葡萄城技术团队18 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
counting money18 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
wuyk55518 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
坚持学习前端日记18 小时前
Python SQLAlchemy ORM 从0到1精通实战手册(基础到复杂高阶)
数据库·python·oracle
峥无18 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl