查看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全部场景

相关推荐
octopus_c20 分钟前
C++ 运算符重载详解 && 日期类的实现
开发语言·c++
吴名氏.21 分钟前
Java转AI Agent教程(第二周)超时重试与错误分类
java·人工智能·python·分类·ai agent
青少儿编程课堂23 分钟前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛
Eiceblue24 分钟前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
j7~28 分钟前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象
Android小码家37 分钟前
framework&framework-minus-apex&android.jar的区别
android·python·jar
lee_curry42 分钟前
第十周完整学习笔记:继续升级为“检索更准、权限安全、索引可维护、失败可恢复、长期可运行”的企业级 RAG 系统
python·ai·langchain·agent·langgraph
Fuyo_11191 小时前
深入解析 C++ unordered_set 与 unordered_map 的核心特性与性能实战
开发语言·c++
ShineWinsu1 小时前
对于Qt:QPushButton常见属性的解析
开发语言·c++·qt·api·gui·按钮·qpushbutton
外贸GEO优化1 小时前
外贸独立站的可抓取性:JS 渲染、懒加载与无限滚动到底影响什么
开发语言·javascript·ecmascript