glb读取颜色

顶点颜色:

python 复制代码
import trimesh
import numpy as np
from PIL import Image
import os

scene = trimesh.load(r"E:\pro_math\math_image\3d_print\chaijian\baozha.glb", force='scene')

print(f"📦 找到 {len(scene.geometry)} 个部件")

all_colors = []
color_map = {}

for name, mesh in scene.geometry.items():
    if not isinstance(mesh, trimesh.Trimesh):
        continue

    # 提取顶点颜色
    if hasattr(mesh.visual, 'vertex_colors') and mesh.visual.vertex_colors is not None:
        colors = mesh.visual.vertex_colors
        # 取最常见的颜色(众数)
        unique_colors, counts = np.unique(colors, axis=0, return_counts=True)
        dominant = unique_colors[np.argmax(counts)]
        hex_color = f"#{dominant[0]:02x}{dominant[1]:02x}{dominant[2]:02x}"
        color_map[name] = hex_color
        all_colors.append(hex_color)
        print(f"  {name}: {hex_color}")

# 去重颜色
unique_colors = list(set(all_colors))
print(f"\n🎨 共检测到 {len(unique_colors)} 种颜色:")
for c in unique_colors:
    print(f"  {c}")
相关推荐
星夜离尘5610 小时前
MATLAB 工程实验:不等间隔流量积分,先把缺口与覆盖率说清楚
开发语言·matlab·时间戳·数据质量·数值积分
happylifetree10 小时前
Python70:核心语法-函数进阶-案例2
python
Ai-_Man11 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
梓豪csd11 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go11 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳11 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
学逆向的11 小时前
C 枚举变量
c语言·开发语言·网络安全
Sakura_j_h_11 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
supabc12313 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi13 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent