MIPI-csi调试

调试流程

1. 硬件连线检查

  • 数据线(MIPI Data Lanes) :
    • 确认 IMX415 模组的 4 条数据线 + 1 条时钟线连接正确。
    • 如果是 4-lane 输出,SoC 的 D-PHY 必须也配置成 4-lane 接收。
  • 控制线

    原理图

    • I²C SDA/SCL → &i2c8 控制器管脚。
    • 复位(reset-gpios)→ 对应 GPIO。
    • 时钟输出(xvclk)→ 摄像头 MCLK 引脚。
    • 供电(avdd-supply)→ 对应电源芯片或 LDO。

    2. Device Tree (DTS) 配置确认

    详细情况请看下面设备树详解

    • 链路完整性
      • 用文本方式查找 remote-endpoint,确认 IMX415 → D-PHY → CSI-2 → CIF/ISP 的链路闭环。
      • 确认 data-lanes 数量与硬件一致(IMX415 默认是 4 条 lane)。
    • 极性、时序
      • reset-gpios 极性是否与模组手册一致(IMX415 通常是低电平复位)。
      • 电源域、供电电压节点是否匹配(IMX415 的 AVDD、DVDD、IOVDD 电压要求要符合规格)。
    • 模块状态
      • 所有链路上的核心节点(&i2c8&csi2_dcphy0&mipi0_csi2、CIF/ISP)都要 status = "okay"

    3. 上电与驱动加载检查

    • 查看摄像头 I²C 识别情况

      i2cdetect -y 8  # i2c8 总线
      • 应该能看到地址 0x1a(IMX415)。
      • 如果没有:
        • 确认 xvclk 在探测前已经输出。
        • 确认复位引脚和电源时序 OK。
    • 检查驱动绑定日志

      dmesg | grep -i imx415

      • 应看到传感器驱动注册、解析 DTS、设置时钟/供电等步骤。
      • 异常(比如 probe failed)时检查 I²C、供电和 GPIO 控制逻辑。

      4. 时钟与复位验证

      • 查看 MCLK 是否输出(用示波器测 SoC 输出脚):
        • 正常应有 24MHz 方波(或 DTS 配置的频率)。
      • 复位引脚
        • 上电初期保持复位电平(低),然后释放。
        • 驱动中一般会延时 5~10ms 后再拉高/低以启动工作。

    5. MIPI D-PHY/CSI-2 接收层检查

    • 分析内核日志

      dmesg | grep -i mipi
      • 确认 CSI-2 控制器收到了帧同步信号(Frame Start/End)。

    6. ISP/CIF 数据通路验证

    • 启动视频采集

      media-ctl -p
      • 查看 media graph 链路,确认 imx415 → csi-2 receiver → capture output 有连接。
    • 抓取图像帧

      查看设备

      v4l2-ctl --list-device
      gst-launch-1.0 v4l2src device=/dev/video20 ! videoconvert ! autovideosink
      • 成功抓到数据说明链路正常。
      • 如果 /dev/videoX 打不开:
        • 检查 V4L2 驱动是否注册。
        • 检查 media graph 链是否存在断链。

     结构

    IMX415 节点csi2_dcphy0 节点 之间的连接

    IMX415 → D-PHY → MIPI CSI-2 控制器 → CIF/ISP 的完整视频数据流向示意图

    链路说明

  • I²C 控制链

    • &i2c8 通过 reg = <0x1a> 控制 IMX415 寄存器初始化(分辨率、帧率、MIPI 配置等)。
    • 不参与图像数据传输,仅用于控制。
  • 视频数据链

    • IMX415 的 port/endpoint (imx415_out0) 定义了它的 MIPI 输出端,data-lanes = <1 2 3 4>
    • remote-endpoint = <&mipi_in_ucam0> 让它和 D-PHY 输入端 建立连接。
    • D-PHY 节点(&csi2_dcphy0port@1 (csidcphy0_out) 连接到 CSI-2 控制器输入端 mipi0_csi2_input
    • CSI-2 控制器的输出 mipi0_csi2_output 连接到 CIF/ISP 输入端 cif_mipi_in0
  • 模块作用

    • IMX415:CMOS 传感器,输出 MIPI CSI-2 数据。
    • D-PHY:物理层收发器,将 MIPI 差分信号恢复为逻辑字节流。
    • MIPI CSI-2 控制器:协议层解析器,按 CSI-2 协议拆包,准备送往图像处理单元。
    • CIF/ISP:图像信号处理模块(去噪、白平衡、色彩校正等)。
  • DTS 关键路径对应表

    设备树详解

    csi2_dcphy0节点

    /* * csi2_dcphy0 代表第 0 路的 MIPI CSI-2 D-PHY 控制器节点* 这个节点通常负责将来自摄像头模组的 MIPI D-PHY 信号(高速差分数据)接收下来,* 然后交给后端的 CSI 控制器进行处理。*/
    &csi2_dcphy0 {status = "okay";   /* 启用该硬件模块 */ports {             /* 声明该 PHY 节点的多端口连接关系 */#address-cells = <1>;#size-cells = <0>;/* * port@0 表示 D-PHY 的输入端口(从摄像头进来的信号) */port@0 {reg = <0>;                /* 端口编号 0 */#address-cells = <1>;#size-cells = <0>;/* endpoint@1:定义来自 imx415 摄像头的 MIPI 输入端 */mipi_in_ucam0: endpoint@1 {reg = <1>;   /* 端点编号 *//* 指向摄像头端的 remote-endpoint,用于建立连接关系 */remote-endpoint = <&imx415_out0>;/* 使用的数据通道,MIPI CSI-2 的 Lane 编号从 1 开始 */data-lanes = <1 2 3 4>;  /* 4-lane 配置, 用于高带宽传输 */};};/* * port@1 表示 D-PHY 的输出端口(往 SoC 内部 CSI 控制器送数据) */port@1 {reg = <1>;                /* 端口编号 1 */#address-cells = <1>;#size-cells = <0>;/* endpoint@0:定义输出到 mipi0_csi2_input 的连接 */csidcphy0_out: endpoint@0 {reg = <0>;   /* 端点编号 *//* 指向 CSI 控制器输入端的 remote-endpoint */remote-endpoint = <&mipi0_csi2_input>;};};};
    };

    解析要点

    1. &csi2_dcphy0
      这是设备树里对硬件 D-PHY 控制器的引用(& 表示引用已定义的节点)。

    2. status = "okay";
      表示启用该模块,如果是 "disabled" 则驱动不会初始化这个硬件。

    3. 多端口结构 (ports / port@x / endpoint@y)

      • 一个 D-PHY 节点通常有两个端口:
        • port@0 → 输入端,接摄像头模组 MIPI 输出。
        • port@1 → 输出端,接 SoC 内部 CSI 解析模块。
      • endpoint 内的 remote-endpoint 是建立连接的关键,它在软件中会和目标节点的 endpoint 互相指向,实现拓扑绑定。
    4. data-lanes
      定义 MIPI 使用的 数据通道,高分辨率摄像头通常用 4 lanes 提高带宽。

    i2c8 + imx415 摄像头节点

    /* * i2c8 总线节点* 这个 I²C 控制器用于与摄像头模组(IMX415)进行寄存器配置通信。* MIPI 输出数据不走 I²C,I²C 只用于初始化和控制。*/
    &i2c8 {status = "okay";   /* 启用该 I²C 控制器 *//* 选择 I²C8 使用的 pin 脚复用配置 */pinctrl-0 = <&i2c8m1_xfer>;/** imx415 摄像头节点* @1a 表示 I²C 从设备地址是 0x1A*/imx415: imx415@1a {/* 兼容字符串,对应内核里的摄像头驱动匹配项 */compatible = "sony,imx415";/* I²C 地址 */reg = <0x1a>;/* 摄像头主时钟来源(来自 SoC CRU) */clocks = <&cru CLK_MIPI_CAMERAOUT_M0>;clock-names = "xvclk";  /* 该时钟在驱动中命名为 xvclk *//* 摄像头主时钟输出引脚复用配置 */pinctrl-names = "default";pinctrl-0 = <&cam_clk0m0_clk0>;/* 摄像头所在的电源域 */power-domains = <&power RK3576_PD_VI>;/* 模组的模拟电源,电源管理用到 */avdd-supply = <&vcc_mipidcphy0>;/* 摄像头复位引脚连接到 GPIO1_PB6,低电平有效 */reset-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;/* Rockchip 平台私有属性:摄像头模块索引(第 0 路) */rockchip,camera-module-index = <0>;/* 摄像头朝向(背面) */rockchip,camera-module-facing = "back";/* 模块型号 */rockchip,camera-module-name = "CMK-OT2022-PX1";/* 镜头型号 */rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";/* MIPI 数据输出端口配置 */port {imx415_out0: endpoint {/* 连接到 csi2_dcphy0 的输入端 mipi_in_ucam0 */remote-endpoint = <&mipi_in_ucam0>;/* MIPI 使用的数据通道编号,4 lane */data-lanes = <1 2 3 4>;};};};
    };

    解析重点

    1. clocks / clock-names

      • SoC 会通过 CLK_MIPI_CAMERAOUT_M0 输出一个稳定的 MCLK(常见 24MHz)到 IMX415 芯片。
      • 驱动中通过 "xvclk" 名来索引这个时钟。
    2. reset-gpios

      • 控制 IMX415 硬件复位引脚。上电初始化时通常:
        1. 拉低 → 延时 → 拉高 → 延时
        2. 保证芯片寄存器处于已知状态。
    3. avdd-supply

      • 指向电源管理节点,启动传感器前驱动会先 enable 电源,再给时钟,最后释放复位。
    4. port / endpoint

      • 定义 MIPI 输出的拓扑连接关系。
      • remote-endpoint = <&mipi_in_ucam0> 表示物理上 IMX415 输出连接到 D-PHY 控制器的输入端
    5. rockchip,camera-* 属性

      • 这些是 Rockchip 平台定制的私有信息,方便上层 HAL 识别不同模组。

    mipi0_csi2 节点

    /* * mipi0_csi2 节点* 这是 MIPI CSI-2 接收控制器的实例(第 0 路)。* 它的作用是把从 MIPI D-PHY 接收的原始像素数据按照 CSI-2 协议解析成* 内部格式(例如 YUV、RAW),再送给 ISP 或 CIF(Camera Interface Framework)。*/
    &mipi0_csi2 {status = "okay";   /* 启用该 MIPI CSI-2 控制器 */ports {             /* 定义该控制器的所有端口连接关系 */#address-cells = <1>;#size-cells = <0>;/* * port@0 表示它的输入端口(接收来自 D-PHY 的数据流)*/port@0 {reg = <0>;             /* 端口编号 0 */#address-cells = <1>;#size-cells = <0>;/* endpoint@1:接收端点,连接到 D-PHY 输出端 */mipi0_csi2_input: endpoint@1 {reg = <1>;   /* 端点编号 *//* 连接到 csi2_dcphy0 节点的输出端 csidcphy0_out */remote-endpoint = <&csidcphy0_out>;};};/** port@1 表示它的输出端口(将解析后的数据送往下一级,比如 ISP/CIF)*/port@1 {reg = <1>;             /* 端口编号 1 */#address-cells = <1>;#size-cells = <0>;/* endpoint@0:输出端点,连接到 CIF/ISP 输入端 */mipi0_csi2_output: endpoint@0 {reg = <0>;   /* 端点编号 *//* 连接到 cif_mipi_in0(CIF 模块的 MIPI 输入) */remote-endpoint = <&cif_mipi_in0>;};};};
    };

    解析重点

    1. 角色定位

      • mipi0_csi2 是 协议层(Protocol Layer) 模块,它在 D-PHY(物理层)和 ISP/CIF 之间。
      • 数据流向:
        摄像头 → D-PHY → CSI-2 接收控制器(本节点) → ISP/CIF。
    2. 端口关系

      • port@0(输入)
        接 csi2_dcphy0 的输出端 csidcphy0_out
      • port@1(输出)
        接 ISP/CIF 的输入端 cif_mipi_in0
    3. remote-endpoint 的作用
      通过 remote-endpoint 和对端的 endpoint 互相指针,使内核能识别整条 MIPI 通路。

    剩下节点

    /* * rkcif:Rockchip Camera Interface Framework 总控节点* 作用:管理整个平台上的摄像头接口模块(CIF、MIPI、LVDS)。*/
    &rkcif {status = "okay"; /* 启用 CIF 框架 */
    };/** rkcif_mipi_lvds:MIPI/LVDS 接口的接收模块* 作用:从 MIPI CSI-2 控制器接收像素数据。*/
    &rkcif_mipi_lvds {status = "okay"; /* 启用该 MIPI/LVDS 接收器 */port {/* CIF MIPI 输入端,与 mipi0_csi2_output 相连 */cif_mipi_in0: endpoint {remote-endpoint = <&mipi0_csi2_output>; /* 从 CSI-2 控制器输出端接收数据 */};};
    };/** rkcif_mipi_lvds_sditf:MIPI/LVDS 的 SDI 接口(Stream Direct Interface)* 作用:将接收到的像素数据直通给 ISP 虚拟端口。*/
    &rkcif_mipi_lvds_sditf {status = "okay";port {/* MIPI/LVDS 到 ISP 的直通输出端 */mipi_lvds_sditf: endpoint {remote-endpoint = <&isp_vir0>; /* 连接 ISP 虚拟输入端口 isp_vir0 */};};
    };/* * rkcif_mmu:CIF 模块的内存管理单元(MMU)。* 作用:负责内存虚拟地址到物理地址转换,用于 DMA。*/
    &rkcif_mmu {status = "okay"; /* 启用 CIF MMU */
    };/* * rkisp:Rockchip ISP(Image Signal Processor)* 作用:对来自 CIF/MIPI 的原始图像数据进行 ISP 处理(去噪、白平衡、颜色校正等)。*/
    &rkisp {status = "okay"; /* 启用 ISP 模块 */
    };/* ISP 专用 MMU */
    &rkisp_mmu {status = "okay";
    };/** rkisp_vir0:ISP 虚拟通道 0* 作用:ISP 的一个输入通道,可接收来自 CIF 的数据流。*/
    &rkisp_vir0 {status = "okay";port {#address-cells = <1>;#size-cells = <0>;/* ISP 虚拟通道 0 的输入端,与 MIPI/LVDS SDI 输出相连 */isp_vir0: endpoint@0 {reg = <0>;remote-endpoint = <&mipi_lvds_sditf>;};};
    };/* ISP 虚拟通道 0 的 SDI 接口(输出) */
    &rkisp_vir0_sditf {status = "okay";
    };/** rkvpss:Video Post Processing Subsystem* 作用:视频后处理子系统(例如缩小、裁剪、色彩空间转换)。*/
    &rkvpss {status = "okay";
    };/* VPSS 的 MMU */
    &rkvpss_mmu {status = "okay";
    };/* VPSS 虚拟通道 0 */
    &rkvpss_vir0 {status = "okay";
    };

    链路流程

    1. 摄像头(通过 MIPI CSI-2 接口)输出原始图像数据|▼
    2. MIPI CSI-2 控制器(例如 &mipi0_csi2)解析协议|▼
    3. CIF MIPI/LVDS 接收模块(&rkcif_mipi_lvds)- DTS: 接收端口 `cif_mipi_in0`- remote-endpoint = <&mipi0_csi2_output>- 作用:从 CSI-2 控制器获取像素流,准备送给下一级|▼
    4. CIF MIPI/LVDS SDI 接口(&rkcif_mipi_lvds_sditf)- DTS: 输出端口 `mipi_lvds_sditf`- remote-endpoint = <&isp_vir0>- 作用:将 CIF 接收到的数据直通给 ISP 虚拟通道|▼
    5. ISP 虚拟通道 0(&rkisp_vir0)- DTS: 输入端口 `isp_vir0`- remote-endpoint = <&mipi_lvds_sditf>- 作用:作为 ISP 的一个输入 Pad,接收 CIF 提供的原始数据|▼
    6. ISP 模块(&rkisp)- 作用:对 RAW 数据进行 ISP 处理(去噪、白平衡、色彩校正等),输出 YUV/RGB 格式|▼
    7. ISP vir0 SDI 接口(&rkisp_vir0_sditf)- 作用:ISP 处理后的图像流出口,可送给 VPSS|▼
    8. VPSS 模块(&rkvpss)- 作用:视频后处理(缩放、裁剪、旋转、格式转换等)|▼
    9. VPSS 虚拟通道 0(&rkvpss_vir0)- 作用:作为 VPSS 的一个输出通道,数据可送到显示、编码器或文件输出

    图形化链路示意

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/news/918962.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/news/918962.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    Mysql——》提取JSON对象和数组

    推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

    JSON值包含引号

    目录背景代码正则说明背景 很多时候&#xff0c;在无法使用Gson等能处理非标准化JSON的工具时&#xff0c;需要对JSON值中的JSON限定符进行转义&#xff0c;使用正则比较方便&#xff0c;以对JSON值中的引号做转义为例 代码 private static String escapeUnescapedQuotes(St…

    後端開發Python篇

    書接上回&#xff1a;後端開發技術教學(五) 魔術方法、類、序列化-CSDN博客 必要資源&#xff1a; trae中下載網址: TRAE - The Real AI Engineer phpStudy 2018 : phpStudy - Windows 一键部署 PHP 开发环境 小皮出品 python解釋器&#xff1a;Welcome to Python.org 前言…

    Python匿名函数的具体用法

    引言 在Python编程中&#xff0c;匿名函数&#xff08;即lambda函数&#xff09;是一种简洁定义小型函数的方式。它无需通过def关键字命名&#xff0c;适用于需要临时函数或作为高阶函数参数的场景。本文将详细解析lambda函数的语法、应用场景及最佳实践。 定义与语法 官方定义…

    ARM芯片架构之CoreSight SoC-400 组件介绍

    CoreSight SoC-400 组件介绍1. Debug Access Port (DAP) 功能&#xff1a;DAP 是外部调试器与 SoC 内部调试基础设施的接口核心。它将调试端口&#xff08;JTAG-DP 或 SW-DP&#xff09;与多个访问端口&#xff08;AP&#xff09;连接起来&#xff0c;使调试器能够访问内存、外…

    SynAdapt:通过合成连续思维链实现大语言模型的自适应推理

    摘要&#xff1a;尽管链式思维&#xff08;CoT&#xff09;推理能提升模型性能&#xff0c;却因离散 CoT 标记&#xff08;DCoT&#xff09;的生成而带来显著时间开销。连续 CoT&#xff08;CCoT&#xff09;是更高效的替代方案&#xff0c;但现有方法受限于间接微调、对齐不足…

    计算机毕设不知道选什么题目?基于Spark的糖尿病数据分析系统【Hadoop+Spark+python】

    精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍选…

    【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式

    【DAY1】 从今天开始Javaweb的学习了&#xff0c;学了Javaweb基础知识&#xff0c;HTML CSS常见的标签和样式 文章目录【DAY1】HTML-CSS1&#xff09;初识2&#xff09;入门3&#xff09;常见标签和样式标题标题排版标题样式正文正文排版正文样式整体布局HTML-CSS 1&#xff…

    企业现金流综合分析报告

    企业现金流综合分析报告 执行摘要 本报告整合了基于同一现金流预测数据的多层级分析,包括基础、详细、高级和超详细视角,旨在为企业提供从日常管理到战略决策的全面现金流洞察。企业预计年度收入4080万英镑,毛利率稳定在36%,EBITDA率约10%,显示基本业务模式健康且盈利能…

    StarRocks优化统计分析

    业务需求&#xff1a;统计广告数据&#xff0c;生成流量漏斗&#xff0c;查看广告曝光、点击效果。 StarRocks原表结构&#xff1a; CREATE TABLE ad_events ( event_time DATETIME NOT NULL COMMENT 时间, event_time_hour DATETIME NOT NULL COMMENT 时间(分、秒为0), even…

    k8s单master部署

    一、部署 1、初始化 1.1、主机准备 1.2、防火墙与上下文 iptables -t nat -F iptables -t filter -F systemctl disable --now firewalldsetenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config 1.3、免密登录 ssh-keygenssh-copy-id 192.168.11…

    【大模型微调系列-03】 大模型数学基础直观入门

    【大模型微调系列-03】 大模型数学基础直观入门&#x1f3af; 本章目标&#xff1a;不要害怕数学&#xff01;我们将通过可视化和简单代码&#xff0c;让你像"看电影"一样理解深度学习的数学原理。记住&#xff0c;深度学习的数学其实就是"让计算机学会调整参数…

    科技赋能千年养生丨七彩喜艾灸机器人,让传统智慧触手可及

    传统艾灸养生效果显著&#xff0c;却常因烟雾缭绕、操作繁琐、安全隐患等问题令人望而却步。如今&#xff0c;七彩喜艾灸机器人以创新科技破解痛点&#xff0c;将千年艾灸智慧与现代智能深度融合&#xff0c;让养生变得简单、安全、高效&#xff0c;为大众开启“无负担”的艾灸…

    【web站点安全开发】任务2:HTML5核心特性与元素详解

    目录 一、HTML元素 1、行内元素、块元素、行内块元素 2、替换元素和非替换元素 二、HTML5新增特性 1、语义化标签&#xff1a;提升页面结构化与可读性 2、原生多媒体支持&#xff1a;摆脱插件依赖 3、表单增强&#xff1a;提升交互与验证能力 4、Canvas 与 WebGL&#…

    Notepad++插件开发实战:从零打造效率工具

    通过定制插件提升文本处理效率300%​​ 一、插件开发核心价值​解决效率瓶颈的终极方案​​定制化工作流​深度集成编辑器功能&#xff08;文档访问、选区操作、语法解析&#xff09;自动化重复操作&#xff08;批量替换、格式转换、数据提取&#xff09;案例&#xff1a;法律文…

    微服务单元测试组件(附源码)

    背景 微服务的调试&#xff0c;哪怕是简单问题&#xff0c;需要启动9个服务&#xff0c;ui/nginx 网关 应用 auth 基础数据服务 redis nacos 平台服务 &#xff0c;效率差得不行&#xff0c;准备开发一个支持微服务环境的单元测试组件&#xff0c; 组件解决3个问题&#xff1a…

    【LeetCode 热题 100】55. 跳跃游戏

    Problem: 55. 跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 文…

    Java-JVM是什么JVM的类加载机制

    一.JVM是什么1.jvm是java虚拟机&#xff0c;是java程序运行的基础环境2.jvm运行的是java源代码经过编译后的class文件&#xff0c;这些class文件经过jvm负责解释或即时编译为对应平台的机器码并执行3.class文件也可以通过其他【jvm languages】经过编译后得到&#xff0c;例如s…

    做亚马逊广告,有哪些提高效率的工具

    "为什么每天花3小时调整广告却看不到效果&#xff1f;""如何避免高转化关键词被竞争对手抢走&#xff1f;""为什么手动调整预算总是慢市场半拍&#xff1f;""ACOS居高不下真的是关键词选错了吗&#xff1f;""有没有工具能真正实现…

    研究学习3DGS的顺序

    6 个核心基础模块 序号模块说明推荐学习顺序1&#x1f4f7; 三维计算机视觉基础建立对3D场景、点云、体积的空间理解✅第一个2&#x1f9ee; CT成像原理与图像表示理解CT图像本质、断层数据、密度单位✅并行进行3&#x1f7e1; NeRF与3D Gaussian Splatting原理掌握点云/高斯场…