TiXL 中的 MediaPipe 实时视觉运算符库(Lib.io.video.mediapipe)完全指南
2026/9/20 15:48:41 网站建设 项目流程
  • 音视频
  • 图形学
  • 桌面应用

【免费下载链接】t3

TiXL is an open source software to create realtime motion graphics.

项目地址:https://gitcode.com/GitHub_Trending/t3/t3
点击查看免费下载

TiXL(实时运动图形软件)在Lib.io.video.mediapipe命名空间下封装了一整套基于 Google MediaPipe 的视觉 AI 运算符,覆盖人脸检测、人脸关键点、手势识别、手部关键点、图像分割、目标检测与姿态估计七大能力。本文以.help/docs/operators/lib/io/video/mediapipe/README.md为骨架,逐一定义每个运算符的输入输出契约,并结合仓库内Operators/Mediapipe的源码与模型资源,说明其在实时运动图形工作流中的集成方式与底层实现原理。读完本文,你将能够在 TiXL 的节点图中直接搭建"视频输入 → MediaPipe 分析 → 点缓冲/数据字典驱动可视化"的实时交互管线。


一、模块总览:七个视觉分析运算符

Lib.io.video.mediapipe模块是 TiXL 内置运算符库中负责实时图像理解的分支。根据模块索引文档(README.md),它提供以下 7 个运算符:

运算符底层 MediaPipe 任务功能摘要
FaceDetectionMediaPipe Face Detection检测图像中的人脸,输出包围盒角点与关键点
FaceLandmarkDetectionMediaPipe Face Mesh检测人脸关键点(每张脸 468/478 点)
GestureRecognitionMediaPipe Gesture Recognition识别手势(如 Thumb_Up、Victory、Closed_Fist)
HandLandmarkDetectionMediaPipe Hand Landmark Detection检测手部关键点(每只手 21 点)
ImageSegmentationMediaPipe Image Segmentation将图像分割为背景、人物、头发、衣物等区域
ObjectDetectionMediaPipe Object Detection检测图像中的物体,输出包围盒与类别
PoseLandmarkDetectionMediaPipe Pose Landmark Detection检测人体姿态关键点(每个姿态 33 点)

这 7 个运算符全部实现了相同的输入输出范式:接收一张纹理(Texture2D),输出透传纹理 + 点缓冲(BufferWithViews)+ 数据字典(Dict)+ 调试纹理,因此可以像其他 TiXL 视觉运算符一样被无缝串联进节点图,无需编写任何代码即可把 AI 分析结果喂给粒子系统、点云渲染或参数动画。


二、公共设计模式:所有运算符共享的输入输出约定

在逐个深入之前,先理解这批运算符共用的数据契约。它们都继承自Instance<T>,输出槽全部标记了DirtyFlagTrigger = DirtyFlagTrigger.Animated(见 FaceDetection.cs),意味着每一帧都会触发更新,适合实时视频流。

2.1 输出三件套:点缓冲、数据字典、透传纹理

以 FaceDetection.cs 为参照,典型的输出包括:

  • OutputTexture(Texture2D):输入纹理原样透传,保证分析节点可以"挂在"渲染链路上而不破坏原有画面。
  • PointBuffer(BufferWithViews):结构化缓冲区,承载检测结果转换出的Point数组(含位置、颜色、缩放、朝向、F1/F2 附加数据),可直接绑定到渲染管线或交给 TiXL 的PointBuffer消费节点做点云绘制。Point类型位于 T3.Core.DataTypes.Point。
  • FaceData / ObjectData 等(Dict ):键值字典,存放每个检测实例的置信度、包围盒归一化坐标、关键点坐标等标量数据,可驱动 TiXL 中任意数值参数。

2.2 三个通用控制参数

绝大多数运算符都带这三个参数,用于对齐输入与输出坐标系:

  • CorrectAspectRatio(Boolean):是否对非正方形输入做宽高比修正。从 FaceDetection.cs 可以看到,开启后点坐标会乘上aspectRatio = width / height,把像素坐标映射进归一化空间时保持几何比例。
  • ZScale(Single):点坐标 Z 轴的缩放系数,默认1.0,主要用于 3D 可视化的深度调节。
  • Debug(Boolean):开启后输出DebugTexture(OpenCV 绘制的调试可视化:包围盒、关键点、标签与置信度文本),并输出详细日志。日志经Log.Error / Log.Warning通道记录(见 FaceDetection.cs)。

2.3 帧计数输出

所有运算符都提供UpdateCount(Int32):每处理一帧自增一次,可用来驱动节拍、统计或触发一次性事件。


三、人脸检测:FaceDetection

文档:FaceDetection.md

功能:使用 MediaPipe Face Detection 任务在输入图像中检测人脸,输出包围盒四角与 6 个关键点(眼睛、鼻子、嘴、耳朵)作为点缓冲,同时输出每张脸的详细字典数据。

3.1 输入参数

名称(类型)说明源码默认值
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用人脸检测true
ConfidenceThreshold(Single)人脸被判定为检测成功的最低置信度0.5f
MaxFaces(Int32)最多检测的人脸数量5
ShowDetections(Boolean)是否在输出缓冲中写入包围盒角点true
ShowKeypoints(Boolean)是否在输出缓冲中写入关键点true
DetectionSize(Single)输出缓冲中包围盒点的大小3.0f
DetectionColor(Vector4)包围盒点颜色Vector4.One(白色)
KeypointColor(Vector4)关键点颜色Vector4.One(白色)
UseCombinedAiOutput(Boolean)是否生成统一的 AI 输出纹理false
Debug(Boolean)启用调试日志与调试纹理输出false
CorrectAspectRatio(Boolean)非正方形输入是否修正宽高比false
ZScale(Single)点 Z 坐标缩放系数1.0f

以上默认值均来自 FaceDetection.cs 的InputSlot初始化。

3.2 输出

名称类型说明
OutputTextureT3.Core.DataTypes.Texture2D输入纹理透传
PointBufferT3.Core.DataTypes.BufferWithViews检测点结构化缓冲
FaceDataT3.Core.DataTypes.Dict<float>每张脸的详细数据字典
FaceCountSystem.Int32检测到的人脸数量
UpdateCountSystem.Int32每帧递增的帧计数
DebugTextureT3.Core.DataTypes.Texture2D调试可视化纹理(仅 Debug 开启时)

3.3 点缓冲的编码约定(源码细节)

从 FaceDetection.cs 的实现可以看出,每张脸在点缓冲中固定占用 10 个点

  • 索引faceIndex * 10 + 0..3:包围盒左上、右上、右下、左下四个角点;
  • 索引faceIndex * 10 + 4..9:6 个关键点(眼睛、鼻子、嘴、耳朵),若模型未给出关键点则退化为包围盒中心占位点。

每个点的F1字段编码为faceIndex * 10 + 序号F2字段存该脸的置信度分数。ShowDetectionsShowKeypoints控制写入哪一部分:点类型由F1 % 10判断,< 4为包围盒点、>= 4为关键点(见 FaceDetection.cs)。

3.4 FaceData 字典键

FaceData字典(CalculateFaceData)为每张脸写入如下键:

  • face_{i}_confidence:置信度
  • face_{i}_bbox_x / _y / _width / _height:包围盒归一化坐标(x 为左边界/宽度,y 为1.0 - 下边界/高度,均归一化到 [0,1])
  • face_{i}_keypoint_{j}_x / _y / _z:6 个关键点的归一化坐标

这些键可以直接在 TiXL 中通过Dict.GetValue类运算符读取,用于驱动 UI 元素、摄像机或合成参数。


四、人脸网格:FaceLandmarkDetection

文档:FaceLandmarkDetection.md

功能:使用 MediaPipe Face Mesh 任务检测人脸及其 468(或 478)个稠密关键点,可用于人脸追踪、表情驱动等高级场景。

4.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用人脸检测
MaxFaces(Int32)最多检测的人脸数量
ShowLandmarks(Boolean)是否在输出缓冲中写入关键点
LandmarkSize(Single)输出缓冲中关键点的大小
LandmarkColor(Vector4)关键点颜色
LandmarkScale(Single)关键点位置的缩放系数(便于 3D 可视化)
NormalizeLandmarks(Boolean)是否将关键点坐标归一化到 [0, 1]
MinFaceDetectionConfidence(Single)人脸检测成功的最低置信度
MinFacePresenceConfidence(Single)人脸存在的最低置信度
MinTrackingConfidence(Single)人脸跟踪的最低置信度
Debug(Boolean)启用调试日志
UseCombinedAIOutput(Boolean)使用统一的 AI 输出
CorrectAspectRatio(Boolean)修正宽高比
ZScale(Single)Z 轴缩放

4.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
PointBufferBufferWithViews人脸关键点结构化缓冲
FaceDataDict<float>关键点位置、blendshapes、变换矩阵等详细数据
FaceCountInt32检测到的人脸数量
BlendshapesDict<float>面部混合形状数据(可用于表情驱动)
DebugTextureTexture2D调试可视化纹理

特色输出 Blendshapes:Face Mesh 的 blendshape 数据(如眨眼、张嘴幅度等)被单独提取为字典输出,这在 TiXL 中意味着可以直接用真实人脸表情驱动虚拟角色的面部控制器,而无需自行解析原始网格数据。


五、手部关键点:HandLandmarkDetection

文档:HandLandmarkDetection.md

功能:使用 MediaPipe Hand Landmark Detection 任务检测手部及其 21 个关键点,并提供世界坐标版本的点缓冲,非常适合手部追踪交互。

5.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用手部检测
MaxHands(Int32)最多检测的手的数量
MinHandDetectionConfidence(Single)手部检测成功的最低置信度
MinHandPresenceConfidence(Single)手部存在的最低置信度
MinTrackingConfidence(Single)手部跟踪的最低置信度
Debug(Boolean)启用调试可视化与调试纹理输出
CorrectAspectRatio(Boolean)修正宽高比
ZScale(Single)Z 轴缩放

5.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
DebugTextureTexture2D显示关键点与连线的手部调试可视化
HandCountInt32检测到的手的数量
UpdateCountInt32帧计数
WorldLandmarksBufferBufferWithViews世界坐标关键点缓冲
PointBufferBufferWithViews检测关键点缓冲

世界坐标与图像坐标双缓冲WorldLandmarksBuffer提供以米为单位、以手部中心为原点的世界坐标(适合驱动 3D 手部模型);PointBuffer提供图像空间坐标(适合 2D 叠加与 UI 交互)。两者可独立消费,是 21 点手部追踪中最常用的组合。


六、手势识别:GestureRecognition

文档:GestureRecognition.md

功能:使用 MediaPipe Gesture Recognition 任务检测手部并识别手势(例如"Thumb_Up""Victory""Closed_Fist"),输出识别出的手势名称与置信度。

6.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用手势识别
MaxHands(Int32)最多检测的手的数量
MinHandDetectionConfidence(Single)手部检测成功的最低置信度
MinHandPresenceConfidence(Single)手部存在的最低置信度
UseCombinedAIOutput(Boolean)是否生成统一的 AI 输出纹理
Debug(Boolean)启用调试可视化(显示关键点与连线)
CategoryAllowlist(String)允许的类别名称列表(逗号分隔,如"Thumb_Up"
CategoryDenylist(String)禁止的类别名称列表(逗号分隔,如"Thumb_Up"
CorrectAspectRatio(Boolean)修正宽高比
ZScale(Single)Z 轴缩放

6.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
DebugTextureTexture2D手势调试可视化纹理
RecognizedGesturesList<string>识别出的手势名称列表
PrimaryGesturestring主要识别手势的名称
ConfidenceSingle识别手势的置信度
HandCountInt32检测到的手的数量
UpdateCountInt32帧计数
HandednessList<string>每只手的左右属性(Left/Right)
WorldLandmarksBufferBufferWithViews世界坐标手部关键点缓冲
PointBufferBufferWithViews可视化关键点缓冲

典型应用PrimaryGesture+Confidence可以直接接到 TiXL 的条件判断/数值映射节点,实现"比个手势就切换场景、挥拳就触发粒子爆发"的实时交互;CategoryAllowlist/CategoryDenylist则用于过滤不关心的手势,降低误触发。此外 GestureRecognition.cs 与 FaceDetection 一样标注了ExportDependencies,声明其对mediapipe_c.dllOpenCvSharpExtern.dll等原生库的依赖。


七、目标检测:ObjectDetection

文档:ObjectDetection.md

功能:使用 MediaPipe Object Detection 任务检测图像中的物体,输出包围盒角点缓冲与物体数据字典。

7.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用目标检测
MaxObjects(Int32)最多检测的物体数量
MinDetectionConfidence(Single)物体被检测成功的最低置信度
Model(Int32)选择目标检测模型
Debug(Boolean)启用调试可视化(包围盒与标签)
CategoryAllowlist(String)允许的类别名称列表(如"person, cup"
CategoryDenylist(String)禁止的类别名称列表(如"person, cup"
CorrectAspectRatio(Boolean)修正宽高比
ZScale(Single)Z 轴缩放

7.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
DebugTextureTexture2D显示包围盒与标签的调试纹理
ObjectCountInt32检测到的物体数量
UpdateCountInt32帧计数
PointBufferBufferWithViews物体包围盒角点缓冲
ObjectDataDict<float>每个物体的包围盒坐标、类别名、置信度
ActiveCategoriesList<string>当前活跃的检测类别列表

Model 参数与多模型支持Model(Int32)用于在多套检测模型间切换。从 Assets 目录 可以看到项目内置了efficientdet_lite0.tfliteefficientdet_lite2.tflitessd_mobilenet_v2.tflite等多个检测模型,分别对应不同的精度/速度权衡。


八、图像分割:ImageSegmentation

文档:ImageSegmentation.md

功能:使用 MediaPipe Image Segmentation 任务将输入图像划分为背景、人物、头发、衣物等不同区域,输出分割掩码,可直接用于抠像合成或区域分析。

8.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用图像分割
Model(Int32)选择分割模型(如 SelfieSegmenter、DeepLabV3)
SelectedCategories(String)要包含在掩码中的类别索引列表(逗号分隔)
Debug(Boolean)启用调试日志与调试纹理输出
CategoryAllowlist(String)允许的类别名称列表(如"person, cup"

8.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
MaskTextureTexture2D每个像素值为类别索引的掩码纹理
CategoryMaskTexture2D每个像素对应类别索引的纹理
ConfidenceMaskTexture2D每个像素的置信度纹理
ConfidenceSingle分割的置信度
UpdateCountInt32帧计数
DebugTextureTexture2D调试可视化纹理

在运动图形中的价值MaskTexture/CategoryMask是标准的纹理输出,可以直接与 TiXL 的合成运算符(如MixBlend)组合,实现实时绿幕式抠像——不需要任何额外硬件。ConfidenceMask则可用来做边缘柔化,让抠像边缘更自然。分割类别覆盖背景、人物、头发、衣物等,可分别提取控制。


九、姿态估计:PoseLandmarkDetection

文档:PoseLandmarkDetection.md

功能:使用 MediaPipe Pose Landmark Detection 任务检测人体姿态及其 33 个关键点,输出关键点缓冲、世界坐标缓冲与分割掩码。

9.1 输入参数

名称(类型)说明
InputTexture(Texture2D)待处理的图像
Enabled(Boolean)启用/停用姿态检测
MaxPoses(Int32)最多检测的姿态数量
MinPoseDetectionConfidence(Single)姿态检测成功的最低置信度
MinPosePresenceConfidence(Single)姿态存在的最低置信度
MinTrackingConfidence(Single)姿态跟踪的最低置信度
Debug(Boolean)启用调试可视化(关键点与连线)
CorrectAspectRatio(Boolean)修正宽高比
ZScale(Single)Z 轴缩放

9.2 输出

名称类型说明
OutputTextureTexture2D输入纹理透传
DebugTextureTexture2D姿态调试可视化纹理
PoseCountInt32检测到的姿态数量
UpdateCountInt32帧计数
WorldLandmarksBufferBufferWithViews世界坐标关键点缓冲
PointBufferBufferWithViews图像坐标关键点缓冲
SegmentationMaskTexture2D人体分割掩码纹理

特色输出 SegmentationMask:姿态估计同时输出人体分割掩码,意味着一个节点即可同时获得骨骼点与人体轮廓,可用于"骨骼驱动 + 人体轮廓遮罩"的双重可视化。


十、源码级实现架构:异步推理管线

以上 7 个运算符共享同一套异步处理架构,以 FaceDetection.cs 为最完整的参考实现:

10.1 模型加载与 MediaPipe 配置

  • 模型通过AssetRegistry.TryResolveAddress("Mediapipe:blaze_face_short_range.tflite", ...)从资产注册表解析(见 FaceDetection.cs),说明模型已注册进Mediapipe资源包。
  • 创建检测器时使用VisionRunningMode.VIDEO模式与Delegate.CPU(CPU 委托),并固定设置minDetectionConfidence: 0.5fminSuppressionThreshold: 0.3f(见 FaceDetection.cs)。
  • 注意:界面上的ConfidenceThreshold参数并不用于重建检测器,而是在后处理阶段过滤检测结果(confidence < confidenceThreshold的直接跳过),因此改变它无需重新加载模型(见 FaceDetection.cs)。

10.2 双队列异步 Worker

每帧更新时,运算符会把 GPU 纹理拷贝到 staging 纹理、读取像素数据并编码为请求,投递到_inputQueue;后台WorkerLoop线程从队列取出请求、调用 MediaPipeDetectForVideo(image, timestamp)推理,将结果打包进_outputQueue;主线程再从输出队列消费结果更新各输出槽(见 FaceDetection.cs)。这样推理不阻塞渲染线程,是实时性能的关键。

推理时间戳以33333微秒(约 30 fps)步进递增(见 FaceDetection.cs),以匹配 VIDEO 模式的帧时间语义。当maxFacesconfidenceThreshold变化时,运算符会销毁并重建检测器(InitializeWorker/StopWorker),StopWorker内含 1 秒超时的线程安全等待。

10.3 内存池化与资源回收

为降低实时视频流的 GC 压力,实现中大量使用对象池:

  • Staging 纹理缓存_cachedStagingTextures(width, height)复用 GPU staging 纹理(FaceDetection.cs);
  • OpenCV Mat 池、像素字节缓冲池、Point 数组池:分别用ConcurrentBag复用(FaceDetection.cs);
  • 纹理像素格式转换采用Parallel.For逐行执行 BGRA→RGB 重排(FaceDetection.cs);
  • Dispose中统一释放检测器、结构缓冲、调试纹理、缓存纹理与各对象池(FaceDetection.cs)。

10.4 点缓冲与 GPU 绑定

结果点数组通过ResourceManager.SetupStructuredBuffer创建结构化缓冲区,并同时创建 SRV 与 UAV(FaceDetection.cs),因此PointBuffer可以直接被 HLSL 着色器读取,实现"AI 检测点直接进 GPU 粒子系统"的零拷贝链路。


十一、模型与原生依赖资源

11.1 内置模型清单

所有模型存放于 Operators/Mediapipe/Assets,共 15 个文件:

模型文件用途
blaze_face_short_range.tflite人脸检测(短距离,FaceDetection 默认模型)
face_detection_short_range.tflite/face_detection_full_range.tflite人脸检测(短/全距离变体)
face_landmark_with_attention.tflite/face_landmarker.task人脸网格关键点
hand_landmarker.task手部关键点
gesture_recognizer.task手势识别
pose_landmarker.task姿态估计
selfie_segmenter.tflite/selfie_segmenter_landscape.tflite/selfie_multiclass_256x256.tflite人像分割(多类别 256×256、横屏变体)
deeplabv3.tfliteDeepLabV3 分割模型
efficientdet_lite0.tflite/efficientdet_lite2.tflite高效目标检测(lite0/lite2 精度档)
ssd_mobilenet_v2.tfliteSSD MobileNet V2 目标检测

*.task为 MediaPipe 打包任务文件(模型 + 元数据 + 标签),*.tflite为纯模型权重,两者都可在运行时通过资产注册表解析。

11.2 原生依赖与工程配置

Mediapipe.csproj 表明该运算符包:

  • 目标框架为net10.0-windows,通过PackageReference引入CppSharp.RuntimeOpenGL.NetGoogle.Protobuf
  • 每个运算符类通过[ExportDependencies(...)]声明运行时需要的原生 DLL:mediapipe_c.dllOpenCvSharpExtern.dllEmgu.CV.dllcvextern.dllOpenGL.Net.dllCppSharp.Runtime.dllGoogle.Protobuf.dll(见 FaceDetection.cs),TiXL 会据此在启动时做依赖校验;
  • Release 构建会把Assets/**Symbols/**(.t3/.t3ui/.cs)按运算符包格式复制到输出目录并生成OperatorPackage.json元数据。

依赖相关的mediapipe_c.dll等原生文件位于 Dependencies 目录(mediapipe_c.dllcvextern.dllEmgu.CV.dll等均已在列),确保安装后开箱即用。


十二、在 TiXL 中的实战工作流

结合以上契约,可以总结出四条可直接落地的实时视觉管线模式:

  1. 手部/姿态点云可视化:将Webcam(或视频)纹理 →HandLandmarkDetection/PoseLandmarkDetection→ 把PointBuffer/WorldLandmarksBuffer接入 TiXL 的DrawPointsLineTrail类运算符,实时渲染手部骨骼或人体骨架。开启Debug可获得带连线/标签的DebugTexture用于预览对齐。

  2. 手势驱动参数GestureRecognition→ 用PrimaryGesture(字符串)与Confidence(浮点)接入条件分支与数值映射,实现"Thumb_Up 切换配色、Closed_Fist 触发粒子爆发"的交互演出。

  3. 实时抠像合成ImageSegmentation→ 取MaskTexture(或CategoryMask+ConfidenceMask)与背景纹理做混合,实现无绿幕的人物抠像;分割模型在 Assets 目录 中的selfie_*系列即为此设计。

  4. 人脸表情驱动FaceLandmarkDetection→ 用FaceData字典的 bbox/keypoint 键驱动摄像机或遮罩跟随人脸,用Blendshapes字典驱动虚拟角色表情;FaceDetectionFaceData则可快速获得每张脸的置信度与包围盒做统计或 UI 标签。

所有场景中,OutputTexture都透传原图,因此这些分析节点可以放心插入既有渲染链,不会破坏画面输出;UpdateCount可用来做帧率统计或触发周期性逻辑。


十三、注意事项与限制

  • 平台前提Mediapipe.csproj目标框架为net10.0-windows,且依赖大量 Windows 原生 DLL(MediaPipe C API、OpenCV/Emgu CV),因此本模块面向 Windows 桌面端;相关 安装与系统要求 可在.help/docs中查阅。
  • CPU 委托:检测器以Delegate.CPU创建,推理在 CPU 上完成;精度与速度取决于所用模型(如efficientdet_lite0快于lite2face_detection_short_range适合近距离)。
  • 参数变更代价:修改会触发检测器重建的参数(如 FaceDetection 的MaxFaces/ConfidenceThreshold变化超过阈值)会经历"停止旧 worker → 重建模型 → 重启 worker"的过程,实时运行时建议保持稳定,避免频繁变动导致卡顿。
  • 开关与空结果Enabled为 false 或输入纹理为空/已释放时,运算符会停止 worker、清空输出(FaceCount = 0PointBuffer = null),不会报错,可安全用于动态启停。
  • 数据范围FaceData/ObjectData等字典中的 bbox 与关键点坐标为归一化值(图像空间 [0,1],Y 轴向上),与PointBuffer中映射到 [-1,1] 的渲染坐标不同,消费时需注意坐标系约定。

十四、延伸阅读

  • 模块索引:.help/docs/operators/lib/io/video/mediapipe/README.md
  • 运算符文档:FaceDetection、FaceLandmarkDetection、HandLandmarkDetection、GestureRecognition、ObjectDetection、ImageSegmentation、PoseLandmarkDetection
  • 核心实现:FaceDetection.cs(异步管线参考实现)、GestureRecognition.cs
  • 模型资源:Operators/Mediapipe/Assets
  • 工程配置:Operators/Mediapipe/Mediapipe.csproj、Dependencies 目录(原生依赖 DLL)
  • 通用概念:TiXL 核心概念(运算符、槽、节点图)、实时渲染指南
  • 音视频
  • 图形学
  • 桌面应用

【免费下载链接】t3

TiXL is an open source software to create realtime motion graphics.

项目地址:https://gitcode.com/GitHub_Trending/t3/t3
点击查看免费下载
上一篇:MiniCPM-V:革命性的端侧多模态视觉语言模型
下一篇:FloatMenu核心功能详解:自动贴边、状态切换与拖动限制原理解析

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询