bzhou830

  • 2024-05-13
  • 发表了主题帖: 《深度学习与医学图像处理》3. 医学图像检测

    1. 基础理论 《深度学习与医学图像处理》书中的第五章,讲述了的医学图像的分类。书中的医学图像分类是指使用深度学习对医学图像中的感兴趣区或者整个图像进行分类的过程。 书中的基本概念重点介绍了: 1. 损失函数 用于衡量模型预测结果与实际目标之间的差异或损失程度。损失函数通常是一个标量值,它越小表示模型的预测越接近真实值,反之越大表示预测偏离真实值较远。 在训练模型时,优化目标通常是最小化损失函数,即找到使损失函数取得最小值的模型参数。常见的损失函数有: 均方误差(Mean Squared Error,MSE):适用于回归问题,计算预测值与实际值之间的平方差,常用于线性回归等任务。 交叉熵损失(Cross-Entropy Loss):适用于分类问题,特别是二分类或多分类任务。 对数损失(Log Loss):与交叉熵损失类似,用于衡量分类问题中概率分布的差异。通常用于评估概率型模型(如逻辑回归)的性能。 Hinge Loss:用于支持向量机(SVM)等分类模型,在分类边界上的样本损失为0,其他样本的损失与其到分类边界的距离成正比。 Huber Loss:适用于回归问题,对异常值更具鲁棒性,结合了均方误差和绝对误差。 2. 评价指标 评价指标是衡量模型性能和效果的重要标准。选择合适的评价指标可以帮助我们了解模型在不同方面的表现,并据此做出改进或比较不同模型的决策。 准确率(Accuracy):用于分类任务,表示模型预测正确的样本比例。 精确率(Precision):表示预测为正类别的样本中,实际为正类别的比例。 召回率(Recall):表示实际为正类别的样本中,被模型预测为正类别的比例。 F1 分数(F1 Score):综合考虑了精确率和召回率,是精确率和召回率的调和平均值。 ROC 曲线和 AUC:ROC 曲线绘制了真正例率(True Positive Rate)与假正例率(False Positive Rate)之间的关系,AUC 表示 ROC 曲线下的面积,用于度量模型在不同阈值下的分类性能。 均方误差(Mean Squared Error,MSE):用于回归任务,表示模型预测值与真实值之间的平均平方差。 平均绝对误差(Mean Absolute Error,MAE):与 MSE 类似,但是使用的是绝对误差而不是平方误差。 对数损失(Log Loss):用于评估概率型模型(如逻辑回归)的性能,表示模型对样本的分类概率与实际标签的负对数似然之和。 2. 经典模型 在2012年的ILSVRC挑战赛中,AlexNet取得了冠军,并且大幅度领先于第二名。由此引发了对AlexNet广泛研究,并让大家树立了一个信念——“越深网络准确率越高”。这个信念随着VGGNet、Inception v1、Inception v2、Inception v3不断验证、不断强化,得到越来越多的认可。这个里面的关键是ResNet, 我们来看看ResNet。   ResNet团队分别构建了带有“快捷连接(Shortcut Connection)”的ResNet构建块、以及降采样的ResNet构建块,区降采样构建块的主杆分支上增加了一个1×1的卷积操作。 相比ResNet,DenseNet提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。     可以看到,ResNet是每个层与前面的某层(一般是2~3层)短路连接在一起,连接方式是通过元素级相加。而在DenseNet中,每个层都会与前面所有层在channel维度上连接(concat)在一起。DenseNet在CIFAR-100和ImageNet数据集上与ResNet的对比结果:   综合来看,DenseNet的优势主要体现在以下几个方面: 由于密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练。 参数更小且计算更高效,这有点违反直觉,由于DenseNet是通过concat特征来实现短路连接,实现了特征重用,并且采用较小的growth rate,每个层所独有的特征图是比较小的; 由于特征复用,最后的分类器使用了低级特征。 3. 实战 书中给出了一个颅内CT检测的案例。实战用的数据集是 RSNA Intracranial Hemorrhage Detection Challenge (2019) 这个竞赛对应的数据集,可以去kaggle下载。RSNA-ICH-Det数据集的大小是167.5GB,这个我就没有直接去下载了。里面主要标注了以下的几类:   使用U-net类的网络对这类问题进行处理是比较普遍的做法。有兴趣的可以看: 【Challenge笔记】RSNA Intracranial Hemorrhage Detection-CSDN博客      

  • 2024-04-29
  • 发表了主题帖: 《深度学习与医学图像处理》2. 图像预处理和图像标注

    1. 图像预处理 在医学图像中预处理是一项至关重要的技术,不仅能够提高医学图像的质量,还能够增强对图像内容的理解,为识别算法或这影像科室读片都有很重要的作用。 医学图像预处理一般有这些方面的用途: 去噪声: 医学图像的采集过程不可避免的受到设备条件的影响或采集环境的干扰,如高斯噪声、斑点噪声等。这些会影响图像的清晰度和准确性。常见的去噪声方法包括中值滤波、高斯滤波等。 增强对比度: 对比度是衡量图像中不同区域亮度变化的程度,增强对比度可以使图像更加清晰和易于观察。常用的增强对比度方法包括直方图均衡化、对比度拉伸等。对于血管类的图像在使用增强算法后的视觉效果非常的突出。 几何校正: 图像的采集过程中可能存在由于摄像设备位置、姿态等原因引起的几何失真,需要进行校正以确保图像的准确性和可比性。几何校正可以通过平移、旋转、缩放等操作实现,保证图像的几何形状和比例正确。 分割: 医学图像中的目标往往需要被分割出来,以便进行后续的分析和诊断。分割方法包括阈值分割、区域生长、边缘检测等。这些方法能够有效地将图像中的目标与背景分离开来,提取出感兴趣的区域。 配准: 医学图像可能需要与其他图像或模板进行配准,以实现不同图像之间的空间对齐。配准方法包括基于特征点的配准、基于互信息的配准等 伪彩色增强: 某些医学图像,如红外成像、热成像等,可以通过伪彩色增强来突出图像中的特定信息,使其更易于观察和分析。特别还有是在三维重建中给不同的部位赋予不同的颜色可以更直观的进行医患沟通的场合。   2. 图像的标注 AI算法中,数据是至关重要的。然而标注图像是非常繁重的工作。书中介绍的是3Dslicer的图像标注。值得一提的是3D slicer不仅仅可以图像标注,其实也是一个很好的看医学图像的客户端工具。     3D Slicer的主要提供了如下的图像标注功能: 手动标注: 用户可以使用鼠标或其他输入设备手动绘制标注区域、添加标签或文字注释; 自动标注辅助: 3D Slicer集成了多种自动标注辅助工具和算法,如基于机器学习的分割算法和形态学处理等; 多种标注类型: 支持多种类型的标注,包括点、线、面、体积等。用户可以根据需要选择合适的标注类型,并进行相应的标注操作。 可视化工具: 提供了丰富的可视化工具,如标注轮廓的渲染、透明度调节、颜色标记等,帮助用户更直观地查看和理解标注结果。 数据关联和比较: 支持将标注结果与原始图像数据关联起来,以便进行后续的数据分析和比较。用户可以同时查看原始图像和标注结果,进行直观的比较和分析。  

  • 2024-04-15
  • 回复了主题帖: 《深度学习与医学图像处理》1. DICOM标准和医学影像识别应用

    吾妻思萌 发表于 2024-4-15 16:34 能从书的附件或者什么地方给小弟分享一个 这些格式的文件吗?我试试imagej能打开不 书的附件还没有下载,你是需要dcm图像吗?

  • 2024-04-13
  • 回复了主题帖: 《深度学习与医学图像处理》1. DICOM标准和医学影像识别应用

    吾妻思萌 发表于 2024-4-11 11:01 楼主,书里用的是imagej软件吗?医疗图像好多都是stack的,有相关知识吗? 工程中我接触的CT/MR图像居多,还没有接触过stack格式的图像。 书中使用的主要是3d slicer, 这是一个支持dicom, nii,mha格式的开源软件。

  • 回复了主题帖: 《深度学习与医学图像处理》1. DICOM标准和医学影像识别应用

    秦天qintian0303 发表于 2024-4-11 14:20 这个东西就像CT做完了会给出初步建议一样,然后在交由医生修改确认,好多初步诊断的准确率还是挺高的&nbs ... CT做完后的初步建议在大医院里面其实就是影像科医生的阅片结果。 大部分时候门诊或住院部的医生也会去参考这个结果。

  • 2024-04-11
  • 回复了主题帖: 《深度学习与医学图像处理》1. DICOM标准和医学影像识别应用

    lugl4313820 发表于 2024-4-10 20:27 大概在2016年左右,我带着那个CT肺结节识别的项目去过华西医院影像科和影像科的医生沟通过,当时对于影像科 ... 是的,应用的落地需要大量的临床试验验证

  • 2024-04-10
  • 回复了主题帖: 《深度学习与医学图像处理》阅读心得2

    秦天qintian0303 发表于 2024-4-10 08:46 数据标注也得手工标注吧,这就有点考验人了   可以使用一些开源的标注的数据集

  • 发表了主题帖: 《深度学习与医学图像处理》1. DICOM标准和医学影像识别应用

    本帖最后由 bzhou830 于 2024-4-13 09:16 编辑 ## 1. 前言 感谢本次EEWorld提供的阅读机会,本人是在读书期间做过几年的医学数字图像相关的研究和相关的项目,特别是CT影像肺结节检测的项目。也开源了这个相关的项目在github上了(https://github.com/bzhou830/DiagnoseSystem), 那时使用的方法还是机器学习+特征挖掘的方式来做的。 相比深度学习,特征挖掘可以说是机器学习的关键,也是最耗费时间和精力的部分。深度学习带来最大的好处之一就是不需要手动去挖掘特征了。 ## 2. 谈谈图像格式 《深度学习与医学图像处理》第一章的内容,主要是引入了机器学习,图像处理的相关的一些基础概念。但是由于篇幅的限制,对于没有医学图像背景的读者来说可能会有些不好理解。尤其是一些医学影像领域专门的标准(比如DICOM标准)。 由于本人有过DICOM标准的学习经验,所以来浅谈下DICOM标准。 先来看看官方会DICOM标准的定义: > DICOM标准是数字影像和通信医学标准(Digital Imaging and Communications in Medicine)的简称。它是一种用于医学图像传输和存储的国际标准,旨在促进不同医疗设备和系统之间的互操作性。DICOM标准定义了医学图像的格式、存储方式、传输协议和元数据等方面的规范,使得不同厂商生产的医疗设备和软件能够共同使用和交换医学图像数据,从而提高医疗服务的效率和质量。 DICOM标准包含了许多不同的部分,其中最常见的包括: 图像格式:DICOM定义了医学图像的格式,包括像素数据、图像大小、颜色空间等方面的规范。 数据传输:DICOM规定了医学图像在网络中的传输方式,包括TCP/IP协议栈和特定的传输协议。 数据存储:DICOM定义了医学图像在介质(如光盘、硬盘等)上的存储格式和组织结构。 数据元数据:DICOM包含了大量的元数据,用于描述医学图像的各种属性,如患者信息、图像采集参数、设备信息等。 总的来说,DICOM标准在医学影像领域扮演着非常重要的角色,它使得不同厂商的医疗设备和软件能够实现互操作性,为医疗服务的提供和管理提供了基础。 对于开发人员来说我们可以理解为:DICOM是一个图像格式和图像传输的协议。比如一个CT/MR图像它的保存形式就是一个DICOM标准格式的图像。 传输协议怎么理解呢?医院中的检查设备(CT机、MR机、超声机)他们采集到的图是要传送到图像工作站的,那他们的数据流是如何传输的呢?对于我们普通使用场合下我们数据传输一般都是通过TCP/HTTP协议来传输数据的,但是医学设备的多样性和复杂性演化出了它自己的通信标准,这个标准是在TCP之上的,也就是和HTTP同一层的通信协议。对于通信协议的具体内容,可以查看本人多年前的博客,这里面使用wireshark抓包的实例分析。 https://blog.csdn.net/robin__chou/article/details/51462666 https://blog.csdn.net/Robin__Chou/article/details/51579484 由于本书我们主要探讨的是图像的检测识别,所以我们其实应该把主要专注点放在图像文件的格式上。 对于DICOM格式的文件在实际开发中很多都是直接使用DCMTK开源库来进行解析的,DCMTK是DICOM标准的一个实现。 下面的链接是本人写的使用DCMTK来解析DICOM标准文件: https://bineanju.gitee.io/blog/post/20160915DCMTK%E8%AF%BB%E5%8F%96DICOM%E6%96%87%E4%BB%B6/ ## 3. 医学影像识别的应用 其实早在上世纪七八十年代就有人开始研究医学影像识别相关的应用。但是受限于机器性能和数据量的限制,该类应用一直没有使用到临床实际中。和大家分享一个小故事: 大概在2016年左右,我带着那个CT肺结节识别的项目去过华西医院影像科和影像科的医生沟通过,当时对于影像科的医生来说这类应用离实际差距还是特别大的,只能作为研究和医院进行合作探索。但是医生提出的一个有很大实际意义的点是医学教育领域。据该医生所述,因为乡镇的医生水平限制,很多时候没有人能指导乡镇医生阅片和进行影像诊断,使用辅助诊断系统给这些乡镇医生进行学习指导是一个非常不错的点。 有影像的地方就有出现辅助诊断,由于CT/MR图像的规范化,相比特征容易挖掘,所以这类应用发展的比较快。而像超声影像,里面的噪声比较多,在深度学习出现之前基本很难进行特征的挖掘。 以上就是对第一章和第二章的阅读学习笔记。

  • 2024-03-13
  • 回复了主题帖: 读书入围名单:《深度学习与医学图像处理》

    个人信息无误,确认可以完成阅读分享计划

  • 2023-12-03
  • 回复了主题帖: 【玄铁杯第三届RISC-V应用创新大赛】基于licheepi 4A的3D打印机上位机

    本帖最后由 bzhou830 于 2023-12-3 07:48 编辑 [localvideo]5bf9a067a0bb15a6e58a9c067eaa22c1[/localvideo] 演示视频

  • 发表了主题帖: 【玄铁杯第三届RISC-V应用创新大赛】基于licheepi 4A的3D打印机上位机

    本帖最后由 bzhou830 于 2023-12-5 06:29 编辑 ## 基于licheepi 4A的3D打印机上位机 作者:bzhou830 ### 1. 项目背景(**100-200字**) 目前是市面上的3D打印机所用的固件基本上Marlin和Klipper这两种。他们都是开源的3D打印机固件。 Marlin是一个广泛使用的3D打印机固件,它支持多种硬件平台和传感器,具有丰富的功能和可扩展性。Marlin提供了广泛的配置选项,可以根据用户的需求进行调整和优化,支持温度传感器、限位开关、挤出机驱动器和其他常见的3D打印机传感器,具有断电续打功能,可以在断电后自动恢复打印任务,减少打印失败的风险。Marlin支持G代码指令、自动校准、缩放、移动轴等功能,使用户可以更好地控制打印过程和结果。但是Marlin固件也存在一定的缺陷,因为所有的运动控制算法都是在打印机主板上进行的,然而打印机主板通常是mcu作为运算核心,因此很难运行复杂的运动控制算法,也就很难提供高速打印以及高精度的要求。相比之下Klipper使用分布式处理架构,将计算任务分配给主机电脑和微控制器,可以提高打印速度和精度。Klipper支持用Python编写的配置文件,用户可以轻松地进行配置和调整,而无需重新编译固件。正是因为Klipper采用了分离式的结构,那么主从之前的传输稳定性就显得非常重要。一旦通信出现故障,那就意味着打印就出现故障了。 本项目基于Marlin固件主板, 使用licheepi 4A作为上位机。licheepi 4A负责将G代码指令发送给Marlin固件的主板,主板来执行具体的动作任务。这种方式下,保有了Marlin固件稳定的特性,同时因为licheepi4A拥有强大的处理核心,可以扩展实现更多有实际意义的功能。 ### 2. 作品简介(100-200字) 本项目基于Marlin固件主板, 使用licheepi 4A作为上位机。上位机端使用python编程实现,易于扩展和维护。上位机和3D打印机主板之间使用串口线进行连接通信。上位机端使用Python+Flask设计一个web端的页面,可以方便的在远程发送要打印的G代码文件,并在远程网页端对打印机进行控制,和运行状态的检测。搭配内网穿透,本项目即实现了任何可访问网页的位置均可对3D打印机进行远程的操控。 与此同时,本项目还实现了基于pyqt5的本地化上位机界面,可将licheepi 4A作为主机,在本地对3D打印机进行控制和检测。 ### 3. 系统框图(图文结合) 如下图所示:本项目中实现的上位机为浅蓝色部分。分为Flask上位机和pyqt5上位机两个部分,两部分独立运行。Flask上位机用于在远程端可方便的控制和检测打印机状态,而pyqt5则是用于在本地化操作。 ### 4. 各部分功能说明(图文结合) 本项目有两部分上位机构成,分别叙述如下: #### 4.1 pyqt5本地化上位机 pyqt5本地化上位机的界面基于的是RepRaptor上位机界面。RepRaptor 是用 Qt5  编写的的。 RepRaptor是一个可用于支持GCode指令3D打印上位机,它是用QT5 C++来编写的。之所以使用QT5来编写,这是因为开发者希望它能够任何硬件上运行。因此,RepRaptor也可以用于控制RepRap 来实现3D模型的打印。因为RepRaptor v0.3.8以后就没有再进行继续更新了,且考虑简便易用,这里我们就使用pyqt5来实现repraptor的界面,界面在开发机器上运行出来是这样的: 从图中可以看到有多个控件。这个界面上的各个控件实际上就是对应了向3D打印主板发送的各个指令。 #### 4.2 Flask远程上位机 flask端属于远程访问控制端,运行流程如下, 首次登录会要求注册一个账号: 登录到web端之后注册账户: 使用注册的账户登录到系统中: 随即会进行系统,上传g-code界面: 选择要上传的文件,并点击上传,文件上传完毕显示如下界面,界面中有一个打印的按钮,点击这个按钮后后端程序就会读取g-code文件,并向3D打印机主板发送逐行发送g-code中的串口数据。 ### 5. 视频演示(视频简介+链接) ### 6. 项目源码 项目源码将打包放在云盘中: 链接:https://pan.baidu.com/s/1PYxagwCWU1nHrxUNi4XwpA 提取码:1234 ### 7.发布的博文(附上标题和平头哥发布链接) ### 8. 项目总结(对作品完成度、技术探索、创新点等方面进行总结) 这个项目可扩张性非常的强。目前是将整个流程运行通过,验证了设想的可行性。

  • 2023-11-05
  • 发表了主题帖: 【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A 02 设备组装及通信

    > 由于参赛课题是基于Lichee Pi 4A的3D打印机。Lichee Pi 4A主要是担当打印机的上位机设备。那设备就需要自己准备了,特地斥资购入了一套i3结构的3D打印散件,自己来组装这个设别。 ## 1. 设备的组装 购入之后先组装的就是底座,主要是几根铝型材组装的。吐槽一下,这个螺丝的数量是真的多。抽空余下班后时候花了好几晚才组装完大体的框架。 这个是底座的样子: Z轴组装后就是这样的, 至此打印机的大体框架就算是完成了: 然后再接上步进电机,挤出机,散热风扇以及行程开关的接线: 接线完毕: ## 2. 下位机介绍 目前3D打印机下位机主要有两种比较常见的固件一种是Marlin,另一种是Klipper, 分别介绍一下: 1. Marlin: Marlin是一个广泛使用的3D打印机固件,它支持多种硬件平台和传感器,具有丰富的功能和可扩展性。下面是一些Marlin的特点: - 高度可定制:Marlin提供了广泛的配置选项,可以根据用户的需求进行调整和优化。 - 支持多种传感器:Marlin支持温度传感器、限位开关、挤出机驱动器和其他常见的3D打印机传感器。 - 安全特性:Marlin具有断电续打功能,可以在断电后自动恢复打印任务,减少打印失败的风险。 - 软件端功能:Marlin支持G代码指令、自动校准、缩放、移动轴等功能,使用户可以更好地控制打印过程和结果。 - 社区支持:作为开源项目,Marlin拥有大量的用户和开发人员社区,提供技术支持和新功能的开发。 2. Klipper: Klipper也是一个流行的3D打印机固件,与Marlin相比,它具有一些不同的特点: - 分布式处理:Klipper使用分布式处理架构,将计算任务分配给主机电脑和微控制器,可以提高打印速度和精度。 - 快速更新:Klipper支持用Python编写的配置文件,用户可以轻松地进行配置和调整,而无需重新编译固件。 - 平台支持:Klipper支持多种硬件平台,包括树莓派和BeagleBone等,用户可以选择适合自己的硬件配置。 - 插件系统:Klipper具有插件系统,用户可以添加各种功能模块来扩展打印机的功能。 目前购入的主板上运行的是Marlin固件,他是支持USB-串口通信的。所以我们可以使用LicheePi 4A来作为上位机向他传输数据来控制其答应。 上位机和下位机交互使用的是GCode。G代码(GCode)是一种用于控制计算机数控机床和3D打印机的指令语言。它是一种文本格式的文件,其中包含一系列命令,用于控制机床或打印机的动作、速度、位置和其他操作。 G代码是由标准化的指令组成的,这些指令以字母“G”开头,后面跟着一个数字,表示特定的操作。下面是一些常见的G代码及其功能: G0:快速定位。该指令用于将机床或打印机快速移动到指定的位置,不进行切割或打印操作。 G1:直线插补。使用该指令,机床或打印机可以按照指定的速度和路径进行直线运动。 G2和G3:圆弧插补。这两个指令用于描述机床或打印机沿圆弧路径运动。 G4:延时。该指令用于在程序中设置延时,以等待某些操作完成。 G28:回零。该指令用于将机床或打印机的各个轴移动到原点位置。 G92:坐标系设置。使用该指令,可以设置机床或打印机坐标系中的原点和工作坐标。 除了G代码,还有其他类型的指令,如M代码,用于控制机床或打印机的辅助功能,如启动和停止加热元件、风扇、传输数据等。 G代码文件可以使用文本编辑器进行创建和编辑,然后通过各种软件或控制器将其加载到数控机床或3D打印机中执行。每个机床或打印机的固件通常支持特定的G代码集合,用户需要了解相应设备的规格和功能以正确编写和使用G代码。 那我们就先来测试下让他回到原点的位置。在LicheePi4A上插入usb线到打印机的主板上,在licheePi的设备中可以看到转串口设备。直接在命令行中向串口写入G28。 打印机即可回到原点了。

  • 2023-10-29
  • 回复了主题帖: 【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A 01 开箱+系统烧录+环境搭建

    Jacktang 发表于 2023-10-21 16:32 python语言开发已经到处都是了 是的呀,主要是方便易用,哈哈

  • 2023-10-21
  • 发表了主题帖: 【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A 01 开箱+系统烧录+环境搭建

    很幸运能入围这次的玄铁杯大赛中。因为是第二批入围的,有了第一批大佬们的经验,拿到板子的第一时间就开箱并顺利点亮了。这篇就来分享下开箱,烧录系统到搭建环境的这个过程。 ### 1. 开箱 包装的严严实实的,还配个充气袋子。快递包装很专业。 看之前宣传中说的,荔枝派 4A对标的是树莓派4B。所以还以为荔枝派4A PCB的大小和树莓派4B的PCB大小相当。把我的树莓派4B特地拿出来和荔枝派4A对比拍照看看: 可以看出来荔枝派 4A比树莓派4B还是要大上一圈的。考虑到荔枝派 4A使用的分离板卡的设计,这个大一圈其实也是很正常。相比之下荔枝派 4A的接口比树莓派4B要更加丰富。 好了,看完外观,我们来安装官网的说明来烧录下系统。 ### 2.烧录系统 烧录系统前先要做下准备工作,并列举下注意事项: - 根据第一批入围大佬的踩坑经验,Type-C接口供电电源不要采用快充充电器。(最好使用5V/2A的充电头) - 不用板卡的HDMI接非专用显示器,比如电视机等。   板子9V以上的高压会被烧毁,如果电视的HDMI口5v电源没做好,上电瞬间有高压,能从hdmi里打高压进去,然后核心板会被击穿。 避过上述这些坑就按照官网步骤来烧录系统: 1. 从官方下载最新的镜像和烧录工具 [镜像集合 - Sipeed Wiki](https://wiki.sipeed.com/hardware/zh/lichee/th1520/lpi4a/3_images.html) 从官方的镜像集合中找到网盘的下载连接,进去下载系统镜像。我这里使用的是百度网盘。 下载上述除了android文件夹剩下的两个文件。 2. 按照官网,让办卡进入烧录模式。 3. 我这里是在Windows下进行烧录的,所以要安装官网提供的驱动程序。但是该驱动程序是没有有效签名的。所以需要禁用下驱动签名。 这里说明下,我查看了下驱动文件的签名,其实是有签名的,但是只是签名是sha1的。目前使用的win10/win11大部分都是需要sha256签名的。所以这个签名是无效的。理论上讲,如果在win7下这个签名应该是有效的。 4. 修改`burn_lpi4a.bat`,指定`fastboot.exe`和镜像文件(`uboot`、`kernel`、文件系统)的路径。然后双击运行 `burn_lpi4a.bat` 就能够正常进行烧录了。 烧录完成,接上显示器,上电点亮。 插上键鼠体验一下,发现一个小问题: - 键鼠插在靠近贴有二维码的那个usb端口上是无法使用的。只有在旁边的那个usb端口上才有用。 ### 3.开发环境搭建 我这次开发需要用到的是python语言。系统中已经提供预装了python,所以我就直接先使用这个,哈哈。 好了,本次分享就这些内容了。

最近访客

< 1/2 >

统计信息

已有100人来访过

  • 芯积分:94
  • 好友:--
  • 主题:13
  • 回复:26

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言