DICOM 基础知识:深入理解DICOM数据结构与标签说明
目录
DICOM 图像概念
DICOM 图像关键特性:
DICOM 文件结构
常见数据元素:
数据元素示例详解
DICOM-VR 数据类型说明
DICOM 标准支持的数据集
结语
DICOM 图像概念
DICOM(Digital Imaging and Communications in Medicine)是一种用于存储、传输和处理医学图像的国际标准。它确保了不同设备和系统之间的兼容性,使得医疗图像能够在医院内部及不同医院之间无缝共享。一个检查(Study)的 DICOM 文件保存了单次检查的全部信息,包括病人信息和图像数据。通过读取和解析 .dcm 文件,可以获取所有相关的信息。DICOM 标准不仅规范了图像格式,还规范了元数据的存储和传输方式,确保了数据的完整性和互操作性。例如,一个 DICOM 文件可以包含患者的基本信息、检查日期、设备类型、扫描参数以及实际的图像数据。这种结构化的数据存储方式使得医学图像能够在不同系统间有效流通,也为后续的图像处理和分析提供了坚实的基础。
DICOM 图像关键特性:
- 标准化:提供一致的图像格式和数据结构。
- 互操作性:支持不同厂商设备之间的数据交换。
- 完整性:包含丰富的元数据,如患者信息、扫描参数等。
DICOM 文件结构
DICOM 文件由多个部分构成,每个部分都有特定的用途和格式,各部分信息有助于全面描述图像及其生成过程。
文件结构:
-
文件前缀(导言):
- 导言部分为128字节,通常为空,可以直接跳过。
- 后接4字节的字符串 "DICM",通常为 "DICM",标识为 DICOM 文件。
解读DICOM文件:第一步:跳过128个字节(00H)导言部分,读取“DICM”4个字节,确认是DICOM格式文件 第二步:读取重要的数据元素,如传输语法等。其中,0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。
-
数据集:
- 由多个数据元素组成,每个元素包含特定信息。DICOM最基本的结构单元——数据元素。
- 数据元素:
- 标签(Tag):标识元素类型。
- 值表示(VR):描述数据类型。
- 长度:数据元素的字节长度。
- 值字段:实际数据。
1、DICOM数据集合是由DICOM数据元素按照一定的顺序排列组成的 DICOM数据元素由四部分组成:标签,VR,数据长度和数据域 .
2、 标签:(组号,元素号): 所有双数组编号提供DICOM数据字典的供标准数据使用,所有单数组编号供私用数据使用。
3、VR:表示该数据元素中的数据是什么形式的,可查阅DICOM标准第五部分的24页。VR是可选的,取决于协商的传输数据格式 数据长度:所有DICOM数据元素都应该为偶数长度,若为奇数,追加空格或空NULL。
常见数据元素:
- 患者信息:如姓名、出生日期、性别。
- 检查参数:如扫描日期、设备类型。
- 图像数据:实际的像素值,构成图像内容。
DICOM 文件通过这些结构化数据元素,提供了全面且可扩展的信息存储方式,使得医学图像能够在不同系统间有效流通。
数据元素示例详解
在前缀后面是真正的数据元素。数据元素以 key-value 的形式提供,每个 tag 就是 DICOM 里定义好的字典。解析时根据需要只需关注特定的 tag。DICOM 全部的 tag 至少有 2000 个。
DICOM 文件包含的四级属性,patient(病人),study(检查),series(序列),SOP(影像)。 每一级别需要具有能够唯一标识这个等级属性的键值,类似关系数据库中的主键。病人对应的为Patient id, 检查 study instance UID, 序列 Series Instanceuid,影像 SOP Instance UID.
dicom中如下:
DICOM-Tag 说明
1. 患者信息(整个Study 一样)
Tag | 描述 | 例子 |
---|---|---|
0010 0010 | patient’s name (患者名字) | lisi |
0010 0020 | patient ID (患者ID) | 200067890 |
0010 0030 | patient’s birth date (患者生日) | 19780714 |
0010 0040 | patient’s sex (患者性别) | M |
0010 1010 | patient’s age (患者年龄) | 043Y |
dicom中如下:
2. 设备医院相关信息(整个 SERIES 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0060 | Modality | MR |
0008 0070 | Manufacture (生产厂家) | GE Healthcare |
0008 0080 | Institution name (机构名称) | CITY 123 CENTER |
0008 0080 | Institution address (机构地址) | 123 Main St, Anytown, USA |
0008 1010 | Station name | MR_Station01 |
0008 1070 | Operator’s name | 1234 |
dicom中如下:
3. Study 信息(整个 STUDY 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0020 | Study date | 20220515 |
0008 0021 | Series date | 20220515 |
0008 0030 | Study time | 081530 (时分秒) |
0008 1030 | Study description | Abdomen^RoutineScan |
0008 103E | Series description | AbdomenSeq |
0020 000D | Study Instance UID | 1.3.6.1.4.1.5962.99.1.123456.789012 |
0020 000E | Series Instance UID | 1.3.6.1.4.1.5962.99.1.789012.345678 |
0020 0010 | Study ID | 23456 |
dicom中如下:
4、Series 信息(整个 SERIES 一样)
Tag | 描述 | 例子 |
---|---|---|
0008 0060 | Modality | MR |
0008 103E | Series Description | BrainAxialSeq |
0008 1070 | Operator’s Name | 5678 |
0018 0015 | Body Part Examined (扫描部位) | Brain |
0018 1030 | Protocol Name (扫描序列名) | Brain_MRI_Routine |
0020 000E | Series Instance UID | 1.3.6.1.4.1.5962.99.1.345678.901234 |
0020 0011 | Series Number | 1 |
0040 A375 | Requesting Physician | Dr. John Doe |
0040 0244 | Performed Procedure Step Start Date | 20220515 |
0040 0245 | Performed Procedure Step Start Time | 083000 |
0040 0253 | Performed Procedure Step ID | 98765 |
0040 0254 | Performed Procedure Step Description | Routine Brain MRI |
dicom中如下:
5. 图像信息
Tag | 描述 | 例子 |
---|---|---|
0008 0008 | Image type | DERIVED\SECONDARY\AXIAL\CT_SOM5 SEQ |
0008 0023 | Image date | 20220515(每张分开列) |
0008 0033 | Image time | 083000(每张分开列) |
0018 0050 | Slice thickness (层厚) | 3.0(每张分开列) |
0018 0093 | Percent sampling | 90 |
0018 0094 | Percent phase field of view | 90 |
0018 5100 | Patient position (患者姿态) | HFP |
0020 0013 | Image number | 5(每张分开列) |
0020 0032 | Image position (patient) | -120.2783-320.2783\70.5(每张分开列) |
0020 0037 | Image Orientation (patient) | 1\0\0\0\1\0(每张分开列) |
0020 1041 | Slice location (图像位置) | 70.5(每张分开列) |
0028 0002 | Samples per pixel | 1 |
0028 0004 | Photometric Interpretation | MONOCHROME1 |
0028 0010 | Rows (图像列数) | 256 |
0028 0011 | Columns (图像行数) | 256 |
0028 0030 | Pixel spacing (像素间距) | 0.48828125\0.48828125 |
0028 1050 | Window center (窗位) | 50\600(每张分开列) |
0028 1051 | Window wide (窗宽) | 120\2800(每张分开列) |
dicom文件中如下:
6. MR 设备信息(整个 SERIES 相同)
Tag | 描述 | 例子 |
---|---|---|
0018 0060 | KVP (球管电压) | 110 |
0018 0090 | Data collection diameter (数据采集直径) | 450 |
0018 1000 | Device serial number (设备序列号) | 12345 |
0018 1030 | Protocol name (扫描序列名) | 02_HeadRoutine |
0018 1100 | Reconstruction diameter (重建直径) | 400 |
0018 1110 | Distance source to detector (射线源与探测器间距) | 1050 |
0018 1120 | Gantry/detector tilt (机架倾斜角) | 5 |
0018 1130 | Table height (床高) | 140 |
0018 1140 | Rotation direction (旋转方向) | CCW |
0018 1150 | Exposure time (曝光时间) | 600 |
0018 1151 | X-ray tube current (球管电流) | 360 |
0018 1152 | Exposure(mA*s) | 220 |
0018 1160 | Filter type (滤波类型) | SMOOTH |
0018 1170 | Generator power | 40 |
0018 1190 | Focal spot (焦点长度) | 1.0 |
0018 1200 | Date of last calibration (上次测量日期) | 20210401 |
0018 1201 | Time of last calibration (上次测量时间) | 090000 |
0018 1210 | Convolution kernel(卷积核) | B60f |
0018 9306 | Single collimation width(可重建最小厚度) | 0.75000 |
0018 9307 | Total collimation width(准直宽度) | 100.00000 |
0018 9309 | Table speed (床速度) | 85.00000 |
0018 9310 | Table feed per rotation (床旋进比) | 42.00000 |
0018 9311 | Spiral pitch factor (步进) | 1.500000 |
0018 9313 | Data collection center (patient) (数据采集中心) | -0.123456-150.654321-80.0000 |
0018 9318 | Reconstruction target center (patient) (重建目标中心) | -0.123456-150.654321-80.0000 |
0018 9323 | Exposure modulation type (曝光模式类型) | Z_EC |
0018 9324 | Estimated Dose Saving(辐射剂量) | 50.000000 |
0018 9345 | CTDIvol | 8.123456 |
dicom中如下:
7. MR设备相关tag
Tag | 描述 | 例子 |
---|---|---|
0018 0020 | Scanning sequence (序列类型) | IR |
0018 0021 | Sequence variant | GR |
0018 0022 | Scan options (扫描选项) | NONE |
0018 0023 | Mr acquisition type (采集类型) | 3D |
0018 0024 | Sequence name (序列名) | *gr2d2 |
0018 0025 | Angio flag | Y |
0018 0080 | Repetition time (重复时间) | 600 |
0018 0081 | Echo time (回波时间) | 8.0 |
0018 0083 | Number of averages (重复次数) | 2 |
0018 0084 | Imaging frequency (成像频率) | 64.987654 |
0018 0085 | Imaged Nucleus (成像核) | 2H |
0018 0086 | Echo number (回波数) | 2 |
0018 0087 | Magnetic field strength (磁场强度) | 3.0 |
0018 0088 | Spacing between slices (层间距) | 4 |
0018 0089 | Number of Phase Encoding steps (相位编码步数) | 256 |
0018 0091 | Echo train length (回波链长度) | 2 |
0018 0095 | Pixel bandwidth (像素带宽) | 150 |
0018 1000 | Device series number (设备序列号) | 54321 |
0018 1030 | Protocol name (扫描序列名) | T2_ir_tra |
0018 1251 | Transmitting coil (发射线圈) | head |
0018 1310 | Acquisition matrix (采集矩阵) | 0\512\512\0 |
0018 1312 | Phase encoding direction (相位编码方向) | COLUMN |
0018 1314 | Flip angle (翻转角) | 180 |
0018 1315 | Variable flip angle flag | Y |
0018 1316 | SAR | 0.56789012345678 |
0018 1318 | db/dt | 1 |
dicom中如下:
DICOM-VR 数据类型说明
VR | 含义 | 允许的字符 | 数据长度 |
---|---|---|---|
CS | Code String | 大写字母,0-9,空格,下划线 | 最多16个字符 |
SH | Short String | 短字符串 | 最多16个字符 |
LO | Long String | 字符串,可能有空格 | 最多64个字符 |
ST | Short Text | 一个或多个段落的字符串 | 最多1024个字符 |
LT | Long Text | 一个或多个段落的字符串 | 最多10240个字符 |
UT | Unlimited Text | 一个或多个段落的字符串 | 最多(2^32–2)个字符 |
AE | Application Entity | 标识设备名称的字符串 | 最多16个字符 |
PN | Person Name | 插入符号作为姓名分隔符的字符串 | 最多64个字符 |
UI | Unique Identifier | UID 字符串 | 最多64个字符 |
DA | Date | YYYYMMDD 格式的字符串 | 8个字符 |
TM | Time | HHMMSS 格式的字符串 | 最多16个字符 |
DT | Date Time | YYYYMMDDHHMMSS.FFFFFF 格式的字符串 | 最多26个字符 |
AS | Age String | nnnD, nnnW, nnnM, nnnY 格式的字符串 | 4个字符 |
IS | Integer String | 整型数字字符串 | 最多12个字符 |
DS | Decimal String | 定点小数和浮点小数字符串 | 最多16个字符 |
SS | Signed Short | 符号型二进制整数,长度16比特 | 2个字符 |
US | Unsigned Short | 无符号二进制整数,长度16比特 | 2个字符 |
SL | Signed Long | 符号型二进制整数 | 4个字符 |
UL | Unsigned Long | 无符号二进制整数,长度32比特 | 4个字符 |
AT | Attribute Tag | 16比特无符号整数的有序对 | 4个字符 |
FL | Floating Single | 单精度二进制浮点数 | 4个字符 |
FD | Floating Double | 双精度二进制浮点数 | 8个字符 |
OB | Other Byte String | 其他字节字符串 | |
OW | Other Word String | 其他单词字符串,2字节 | |
OF | Other Float String | 其他浮点字符串,4字节 | |
SQ | Sequence Items | 条目序列 | |
UN | Unknown | 未知编码的字节字符串 |
DICOM 标准支持的数据集
Character Set Description | Defined Term |
---|---|
Latin alphabet No. 1 | ISO_IR 100 |
Latin alphabet No. 2 | ISO_IR 101 |
Latin alphabet No. 3 | ISO_IR 109 |
Latin alphabet No. 4 | ISO_IR 110 |
Cyrillic | ISO_IR 144 |
Arabic | ISO_IR 127 |
Greek | ISO_IR 126 |
Hebrew | ISO_IR 138 |
Latin alphabet No. 5 | ISO_IR 148 |
Japanese | ISO_IR 13 |
Thai | ISO_IR 166 |
Default repertoire | ISO 2022 IR 6 |
Latin alphabet No. 1 | ISO 2022 IR 100 |
Latin alphabet No. 2 | ISO 2022 IR 101 |
Latin alphabet No. 3 | ISO 2022 IR 109 |
Latin alphabet No. 4 | ISO 2022 IR 110 |
Cyrillic | ISO 2022 IR 144 |
Arabic | ISO 2022 IR 127 |
Greek | ISO 2022 IR 126 |
Hebrew | ISO 2022 IR 138 |
Latin alphabet No. 5 | ISO 2022 IR 148 |
Japanese | ISO 2022 IR 13 |
Thai | ISO 2022 IR 166 |
Japanese | ISO 2022 IR 87 |
Japanese | ISO 2022 IR 159 |
Korean | ISO 2022 IR 149 |
结语
以上是 DICOM 基本数据结构及其标签的详细说明。刚开始学习时,可以自己动手解析一下 DICOM 文件,体验上述几个步骤。在实际工作或软件开发中,通常使用第三方开源库进行操作,比如比较著名的C#系的fo-dicom, C++ 系的 DCMTK,JAVA 系的 dcm4che,python 系的 pyDicom 等等。本文乃至以后的文章主要以fo-dicom、 DCMTK 为主进行举例说明。
相关文章:

DICOM 基础知识:深入理解DICOM数据结构与标签说明
目录 DICOM 图像概念 DICOM 图像关键特性: DICOM 文件结构 常见数据元素: 数据元素示例详解 DICOM-VR 数据类型说明 DICOM 标准支持的数据集 结语 DICOM 图像概念 DICOM(Digital Imaging and Communications in Medicine&…...
Git - 如何删除 push 过一次的文件链路追踪?
(以 target 文件夹为例)如果你已经在 .gitignore 中添加了 target/ 目录,但 target 文件夹仍然出现在 Git 的变更列表中,可能是因为它之前已经被添加到 Git 仓库中。即使你更新了 .gitignore,Git 仍然会跟踪这些文件。…...

软件测试学习总结
一.软件测试概念和目的 软件测试的概念: 测试模型(V模型) 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。 通常对软件测试的定义有两种描述: 定义1:软件测试是为了发现错误而执行程序的过程 定义2:…...

c语言错题——#define对应的查找替换
文章目录 一、题目 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目 分析 结构体向最长的char对齐,前两个位段元素一共42位,不足8位,合起来占1字节,最后一个单独1字节,一共3字节。另外…...
Visual Basic介绍及简单例子
Visual Basic(简称 VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。 一、主要特点 易于学习和使用: Visual Basic 具有直观的可视化开发环境,使用户可以通过拖放控件和设置属性的方式快速创建用户界面。对于初学者来说,这种方式非常容易上手,无需深入了…...

Matlab学习01-矩阵
目录 一,矩阵的创建 1,直接输入法创建矩阵 2,利用M文件创建矩阵 3,利用其它文本编辑器创建矩阵 二,矩阵的拼接 1,基本拼接 1) 水平方向的拼接 2)垂直方向的拼接 3…...

【复旦微FM33 MCU 外设开发指南】外设篇1——硬件除法器
前言 本系列基于复旦微FM33LC0系列单片机的DataSheet编写,旨在提供一些开发指南。 本文章及本系列其他文章将持续更新,本系列其它文章请跳转【复旦微FM33 MCU 外设开发指南】总集篇 本文章最后更新日期:2024/10/24 文章目录 前言用途工作流…...

在元神操作系统启动时自动执行任务脚本
1. 背景 本文主要介绍让元神操作系统启动时自动执行任务脚本的方法,适用于无人化任务执行目的。将任务脚本及相关的应用程序准备好之后,把装有元神操作系统的U盘插入目标电脑,然后打开电脑电源就会自动完成所设置的任务。 2. 方法 &#x…...
JAVA学习-练习试用Java实现“判断是否为等边三角形的方法”
问题: 定义一个三角形类(Triangle),包含三个边长(a, b, c)属性,并实现一个判断是否为等边三角形的方法。 解答思路: 下面是一个简单的 Triangle 类定义,其中包含了三个…...
Leetcode 140 Word Break II
题意:给定一个string以及一个wordDict,要求返回一个vector<string> ,这个vector中的string都是word Dict中的组合 Input: s “catsanddog”, wordDict [“cat”,“cats”,“and”,“sand”,“dog”] Output: [“cats and dog”,“cat sand dog”…...

文理学院数据库应用技术实验报告0
文理学院数据库应用技术实验报告0 实验内容 打开cmd,利用MySQL命令连接MySQL服务器。 mysql -u root -p查看当前MySQL服务实例使用的字符集(character)。 SHOW VARIABLES LIKE character_set_server;查看当前MySQL服务实例支持的字符序(collation)。 SHOW VARIABLES LIKE c…...
Bootstrap 4 按钮
Bootstrap 4 按钮 Bootstrap 4 是一个流行的前端框架,它提供了大量的组件和样式,用于快速开发响应式和移动设备优先的网页。在本文中,我们将重点讨论 Bootstrap 4 中的按钮组件,包括它们的基本用法、样式选项和自定义方法。 基本按钮 在 Bootstrap 4 中,创建一个基本按…...

【笔记】LLM位置编码之标准位置编码
标准位置编码 起源原理证明:对于任何固定的偏移量 k k k, P E p o s k PE_{posk} PEposk可以表示为 P E p o s PE_{pos} PEpos的线性函数。计算 P E p o s k 与 P E p o s PE_{posk} 与PE_{pos} PEposk与PEpos的内积结论 通俗理解缺点 起源 由…...
环 境 配 置
01 Ubuntu18.04中QT环境 1. 下载安装包 官网 http://download.qt.io/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run 国内镜像服务器 https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run QQ群 ...... 2. 安装 把下载…...
理解dbt artifacts及其实际应用
dbt是数据分析领域的一种变革性工具,它使数据专业人员能够对仓库中的数据进行转换和建模。它的强大功能之一是生成dbt artifacts:dbt运行的结构化输出,提供对dbt项目及其操作的深入了解。 dbt 构件介绍 dbt构件是每次dbt运行时生成的JSON文…...
100种算法【Python版】第15篇——KMP算法
本文目录 1 算法原理1.1 部分匹配表2 实现步骤3 示例说明4 python实例5 算法应用领域1 算法原理 KMP(Knuth-Morris-Pratt)算法是一种用于高效字符串匹配的算法。它通过预处理模式字符串,构建一个部分匹配表(前缀函数),以避免重复比较,从而提高匹配效率。KMP 算法通过利…...

【软件工程】软件项目管理/工程项目管理复习资料
第一章 软件项目管理概述习题 一. 填空题 实现项目目标的制约因素有( 项目范围 )、( 成本 )、( 进度计划 )、( 客户满意度 )等。 项目管理( 启动过程组 )、…...

C语言基础题(大合集2)
1. 时间转换 给定秒数 --> 输出秒数 转化成 时/分/秒 //时间转换 //给定秒数 --> 转换成 小时/分/秒 int main() {//输入int seconds 0;int h 0;//小时int m 0;//分钟int s 0;//秒scanf("%d", &seconds);//计算h seconds / 60 / 60;m seconds / 60…...

Stable Diffusion视频插件Ebsynth Utility使用方法
在Stable Diffusion中安装完Ebsynth Utility后,就可以开始试用了。 启动Stable Diffusion后,出面画面: 1、步骤1:视频分帧及生成蒙板帧 填入工程目录,选择上传所用的视频文件:注意对目录命名的要求-不能有…...
Ubuntu忘记密码
如果你忘记了WSL(Windows Subsystem for Linux)中Linux发行版的密码,可以按照以下步骤来重置密码: 一、对于Ubuntu或Debian等基于Debian的发行版(以Ubuntu为例) 关闭WSL实例(如果正在运行&…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...