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}")
相关推荐
颜颜yan_3 小时前
ESP-IDF 鸿蒙 PC 适配全记录:打通 Python、构建工具链与 ESP32-P4 固件生成
python·华为·harmonyos
言乐63 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
weixin_440730503 小时前
线程02-并发串行-互斥锁-Semaphore-Event
python·thread
金金计较.3 小时前
Go语言-3
java·开发语言·golang
张小凡vip4 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
毕业设计7034 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
xifangge20254 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
Wang's Blog4 小时前
Java框架快速入门: Spring Security+OAuth2之云服务集成与多因子认证设计
java·开发语言·spring
门思科技5 小时前
LoRaWAN 网络容量估算:一个 SX1302 网关到底能带多少设备
开发语言·网络·php
大草原的小灰灰5 小时前
Python基础语法
开发语言·python