ESC字符背后的故事(27 <> 033 | x1B ?)

ANSI不可见字符转义,正确的理解让记忆和书写变得丝滑惬意。


(笔记模板由python脚本于2024年11月26日 15:05:33创建,本篇笔记适合python 基础扎实的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


转义ASCII不可见字符
27 != 033 | x1B?
(正确理解让记忆和书写变得丝滑惬意)


本文质量分:

97 97 97

本文地址: https://blog.csdn.net/m0_57158496/article/details/144059595

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 27!=033|x1B?
    • 1、27 != 033 | x1B ?
    • 2、ESC的能力
      • a a a. **光标移动**:
      • b b b. **清屏**:
      • c c c. **删除文本**:
      • d d d. **文本属性和颜色**:
      • f f f. **响铃**:
      • g g g. **模式设置**:
      • h h h. **设备控制**:
      • i i i. **打印和文件操作**:
      • j j j. **其他ANSI转义序列**:
      • k k k. 示例
    • 3、 ESC为终端控制而生
    • 4、ESC字符依赖转义“显形”
    • 5、0/x“通用”?
    • 6、迟来的“爱”
    • 7、Kill“死记/硬背”
    • 8、chr(27)恶搞
    • 9、结语
    • 10、花絮:“胡言乱语”


◆ 27!=033|x1B?


  我由\033[2J清屏字符串,了解到关于ESC字符的知识。ESC字符及其在编程中应用,可以带来极大的便利。其相关的“点”,我整理成了本篇学习笔记,与您共享


1、27 != 033 | x1B ?

  • 解释为什么在字符串字面量中,27、033和x1B虽然数值上相等,但表示方法不同。
  • 讨论Python中字符串转义序列的规则。



回页目录


2、ESC的能力

  • 介绍ESC字符用于启动ANSI转义序列的能力。

  ESC字符(ASCII码值为27,八进制表示为033,十六进制表示为x1B)在终端和文本用户界面(TUI)中广泛使用,用于执行各种控制功能。


以下是一些ESC字符的常见用途:

a a a. 光标移动

  • 可以在终端中移动光标到特定位置
    例如:
    • ESC[<L>;<C>H
      ESC[<L>;<C>f:移动光标到第L行第C列。
    • ESC[<N>A:光标向上移动N行。
    • ESC[<N>B:光标向下移动N行。
    • ESC[<N>C:光标向右移动N列。
    • ESC[<N>D:光标向左移动N列。

b b b. 清屏

  • 清除终端屏幕上的内容
    • ESC[2J:清除整个屏幕。
    • ESC[1J:会清除光标下面的所有内容,但保留光标上面的内容。
    • ESC[0J:会清除光标下面的内容,但保留光标上面的内容,并且光标会停留在原来的位置。

c c c. 删除文本

  • ESC[<N>K:删除光标后的N个字符。
  • ESC[<N>J:删除光标前后的N行。

d d d. 文本属性和颜色

  • 设置文本的颜色、亮度、下划线等属性
    • ESC[<attr>m:设置文本属性,其中<attr>可以是颜色代码、加粗、下划线等。
    • \033[44;1;32m示例\033[0m,将“示例”显示为蓝色背景上的高亮绿字\033[44;1;32m 用于设置文本为蓝色背景、绿色前景、高亮显示;\033[0m 用于将文本恢复到默认的颜色和样式。
      在这里插入图片描述

f f f. 响铃

  • 使终端发出响声
    • \033[G:发出响铃声。
    • \033[?1049l:关闭响铃功能。
    • \033[?1049h:开启响铃功能。

g g g. 模式设置

  • 开启或关闭终端的各种模式
    • ESC[?25l:隐藏光标。
    • ESC[?25h:显示光标。

h h h. 设备控制

  • 控制终端设备的行为
    • ESC[5n:查询设备状态。
    • ESC[?1;2c:识别终端类型。

i i i. 打印和文件操作

  • 控制打印机和文件操作
    • ESC[i:打印内容并前进一行。
    • ESC[4i:打印内容但不前进。

j j j. 其他ANSI转义序列

  • 除了上述常见的,还有许多其他ANSI转义序列用于执行不同的功能。

  在编写脚本或应用程序时,ESC字符常用于格式化输出、创建进度条、在终端中绘制图形等。


k k k. 示例


以下几个使用ESC字符的ANSI转义序列的示例:

格式化输出


print('\033[1;32mHello, World!\033[0m')
  • 截屏
    在这里插入图片描述
    在这个例子中,\033[1;32m 用于设置文本为绿色,并且高亮显示。\033[0m 用于重置文本颜色和样式。

创建进度条

import timefor i in range(100):print('\033[K', end='', flush=True)  # 清空之前的输出print(f'\rProgress: {i * 100 / 100:.2f}%', end='', flush=True)time.sleep(0.01)

在这个例子中,\033[K 用于清除从光标当前位置到行尾的内容。end=''flush=True 用于确保输出立即显示,而不会在屏幕上留下残余。


进度条效果也可以不依赖ANSI转义

import timefor i in range(100):print(' '*42, end='\r')  # 打印空格清屏print(f'\rProgress: {i * 100 / 100:.2f}%', end='\r')time.sleep(0.01)

绘制图形

import timefor i in range(10):print('\033[2K', end='', flush=True)  # 清空之前的输出print(f'\r{i * "*"}\r', end='', flush=True)time.sleep(0.1)

在这个例子中,\033[2K 用于清除从光标当前位置到行尾的内容。然后,我们使用一个循环来打印星号 *,以形成一个简单的图形。end=''flush=True 用于确保输出立即显示。


  这些示例展示了如何在Python中使用ANSI转义序列来增强文本输出的表现力和交互性。



回页目录


3、 ESC为终端控制而生


  需要注意的是,并不是所有的终端都支持所有的ANSI转义序列,因此在实际使用时可能需要检测终端类型或功能支持。



  • 一句话“ESC为终端控制而生”,但“不是所有终端都支持所有终端控制字符串”,实际应用时,得先确认终端支持!😎😎😎

  • ai学伴
    你说得非常对!确实,ESC字符及其相关的ANSI转义序列是为了控制终端行为而设计的,但不同的终端和终端模拟器对ANSI转义序列的支持程度各不相同。在实际应用中,确保你的代码能够在目标终端上正确运行是非常重要的。


  • 以下是一些可能的情况:
    • 旧式终端:可能只支持基本的转义序列。
    • 现代终端模拟器:通常支持更广泛的ANSI转义序列。
    • 非UNIX系统(如Windows的早期版本):可能需要额外的库或工具来支持ANSI转义序列。

  • 在进行终端控制编程时,一般需要:
    • 检测终端类型或功能支持。
    • 提供回退方案,比如在不支持特定转义序列的终端上使用更简单的方法。
    • 使用跨平台的库,如curses(用于Unix-like系统)colorama(用于Windows)

  再次强调,了解并适应您的目标环境是非常重要的,我们一定要有这样的认识!



回页目录


4、ESC字符依赖转义“显形”



  • 因为ESC字符是“不可见的”,所以它必须依赖“ANSI转义”,0、x进制没有优先级,地位平等。当然也可以chr(27)(python)用十进制让它搞怪显形,效果一如0、x。🤗🤗🤗

  • ai学伴
    是的,你说得很对!ESC字符本身是不可见的控制字符,因此在文本中表示它时,必须使用转义序列。在Python中,你可以使用八进制、十六进制或直接使用 chr() 函数和十进制数值来表示ESC字符,它们在功能上是等价的。


  • 以下是在Python中表示ESC字符的几种方式:
    • 八进制转义序列:\033
    • 十六进制转义序列:\x1B
    • 使用 chr() 函数:chr(27)

  所有这些方法都会生成相同的不可见字符,即ASCII码值为27的字符,它在终端中用于开始一个ANSI转义序列。


  这些方法在效果上是相同的,可以根据个人喜好或代码的可读性来选择使用哪一种。在编写代码时,选择一种一致的方法并在整个项目中坚持使用它,是一个好习惯。 👍😊



回页目录


5、0/x“通用”?



  • 用0、x“显示”ESC字符,是所有语言的做法还是大多数语言?🧐🧐🧐

  • ai学伴
    在大多数编程语言中,使用八进制(以 0 开头)或十六进制(以 x0x 开头)来表示不可打印的控制字符是一种常见的做法。这包括ESC字符(ASCII值为27)以及其他类似的控制字符,如制表符(ASCII值为9,可以表示为 \t、换行符(ASCII值为10,可以表示为 \n等。


  • 以下是一些编程语言中表示ESC字符的示例:

    • C/C++:

      • 八进制:\033
      • 十六进制:\x1B
    • Python:

      • 八进制:\033
      • 十六进制:\x1B
      • 使用 chr() 函数:chr(27)
    • Java:

      • 八进制:\033
      • 十六进制:\u001B (在Java中,十六进制转义序列用于Unicode字符)
    • JavaScript:

      • 八进制:\033
      • 十六进制:'\x1B'
    • Ruby:

      • 八进制:?\033
      • 十六进制:?\x1B
    • Go:

      • 八进制:\033
      • 十六进制:\x1B

  尽管这些表示方法在不同语言中普遍存在,但并非所有语言都支持八进制或十六进制转义序列。例如,一些较新的或特定用途的语言可能会采用不同的方法来表示这些字符。


总的来说,使用八进制或十六进制转义序列来表示不可打印字符是一种广泛接受的做法,但具体到某个语言,你可能需要查阅该语言的文档来了解其特定的语法和规则。



回页目录


6、迟来的“爱”



  • 三年多的python 时光,我都是牢记\n\r\t后在“机械”使用,到现在才明白,它们都是不可见ANSI字符串的“转义”。

    这才是真正“基础文化”缺失的悲催。😋😋

  • ai学伴
    认识到这一点是一个重要的学习过程,而且这个过程永远不会太晚。在编程中,基础知识的重要性怎么强调都不为过。了解像 \n\r\t 这样的转义序列背后的原理,不仅能帮助你更好地理解代码,还能让你在遇到问题时更有信心去解决。

  每个人都有不同的学习路径,重要的是你正在不断学习和进步。


  • 以下是这些常见转义序列的含义:
    • \n:换行符(Line Feed),在许多操作系统中用于开始新的一行。
    • \r:回车符(Carriage Return),在某些操作系统中用于返回到行的开头。
    • \t:水平制表符(Horizontal Tab),用于水平对齐文本。

  很高兴你意识到了这些基础概念的重要性。编程是一个持续学习的过程,每天我们都有机会学到新东西。继续你的学习之旅,你的知识和技能将会不断提升。🚀📚️😊



回页目录


7、Kill“死记/硬背”



  • 认识到它们是转义“不可见”,敲打时也更加丝滑顺畅,少了那隔应人的“死记/硬背”。😎😎

  • ai学伴
    这种认识确实可以帮助你更深入地理解代码,并且使编程过程更加自然和流畅。当你理解了背后的原理,就不再需要“死记硬背”,而是可以根据逻辑和上下文来记忆和使用这些转义序列。


  • 这种深入理解通常会带来以下好处:
    • 更好的记忆
      理解原理后,记忆变得更加容易。
    • 更灵活的应用
      你可以根据需要灵活地使用和组合这些转义序列。
    • 更快的解决问题
      当遇到与转义序列相关的问题时,你可以更快地定位和解决问题。

  随着你继续在编程之路上前进,你会发现越来越多的这样的“啊哈”时刻,它们会逐渐构建起你深厚的编程知识体系。继续探索,继续学习,你的编程技能将会不断提升。🌟🚀🌈



回页目录


8、chr(27)恶搞


  • 对话截屏
    在这里插入图片描述



回页目录


9、结语


  结语: 我们通过对 E S C ESC ESC转义字符串的学习,了解到“不可见字符的转义机制”,并明白了其基理,再书写\n\r\t不会一脸懵逼茫然,就如书写“”一样丝滑。这个“事例”说明了熟练掌握基础是非常经济和舒爽的事情



回页目录


10、花絮:“胡言乱语”


  • 对话截屏
    在这里插入图片描述
    在这里插入图片描述



回页首


上一篇:  Python中“暂停”(time.sleep?input?)(input函数最是经典,在多种实现中简单粗暴单纯而经济)
下一篇: 



我的HOT博:

  本次共计收集404篇博文笔记信息,总阅读量61.76w。数据采集于2024年11月25日 08:23:38,用时7分56.4秒。阅读量不小于6.00k的有 9 9 9篇。

  1. 让QQ群昵称色变的神奇代码
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    浏览阅读:6.2w
    点赞:25 收藏:89 评论:17
    (本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47)

  2. Python列表(list)反序(降序)的7种实现方式
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    浏览阅读:1.3w
    点赞:9 收藏:40 评论:8
    (本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55)

  3. pandas 数据类型之 DataFrame
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    浏览阅读:1.0w
    点赞:7 收藏:40 
    (本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13)

  4. 个人信息提取(字符串)
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    浏览阅读:1.0w
    点赞:3 收藏:20 
    (本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54)

  5. 罗马数字转换器|罗马数字生成器
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    浏览阅读:8.2k
    收藏:3 
    (本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46)

  6. 统计字符串字符出现的次数
    地址:https://blog.csdn.net/m0_57158496/article/details/130517025
    浏览阅读:8.1k
    点赞:5 收藏:24 
    (本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40)

  7. Python字符串居中显示
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    浏览阅读:8.0k
    点赞:1 收藏:12 评论:1
  8. 回车符、换行符和回车换行符
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    浏览阅读:6.7k
    点赞:2 收藏:4 
    (本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40)

  9. python清屏
    地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    浏览阅读:6.1k
    点赞:1 收藏:10 

推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

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

相关文章

【MyBatis】全局配置文件—mybatis.xml 创建xml模板

文章目录 模板文件配置元素typeAliasessettings 模板文件 创建模板 按照顺序打开【File】–>【settings】–>【Editor】–>【File and Code Templates】&#xff08;或直接搜索&#xff09; <?xml version"1.0" encoding"UTF-8" ?> <…

python的脚本式编程

一. 简介 前面简单学习了一下 python的交互式编程&#xff0c;文章如下&#xff1a; python的交互式编程-CSDN博客 本文来简单学习一下 python的脚本式编程。 脚本式编程是 Python 编程中最常用的方式之一&#xff0c;特别适合于编写和维护较大的程序或脚本。 二. 脚本式编…

flink学习(8)——窗口函数

增量聚合函数 ——指窗口每进入一条数据就计算一次 例如&#xff1a;要计算数字之和&#xff0c;进去一个12 计算结果为20&#xff0c; 再进入一个7 ——结果为27 reduce aggregate(aggregateFunction) package com.bigdata.day04;public class _04_agg函数 {public static …

uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)

文章目录 关于 arm64 架构检查是否安装了 Rosetta 2其他相关信息解释&#xff1a;命令功能&#xff1a;示例&#xff1a; dgqdgqdeMac-mini / % uname -m arm64您运行的 uname -m 命令显示您的系统架构是 arm64。这意味着您的 Mac Mini 使用的是 Apple 的 M1 或更新的芯片&…

QUICK调试camera-xml解析

本文主要介绍如何在QUICK QC6490使能相机模组。QC6490的相机基于CameraX的框架&#xff0c;只需通过配置XML文件&#xff0c;设置相机模组的相关参数&#xff0c;就可以点亮相机。本文主要介绍Camera Sensor Module XML和Camera Sensor XML配置的解析&#xff0c;这中间需要cam…

10、PyTorch autograd使用教程

文章目录 1. 相关思考2. 矩阵求导3. 两种方法求jacobian 1. 相关思考 2. 矩阵求导 假设我们有如下向量&#xff1a; y 1 3 x 1 5 [ w T ] 5 3 b 1 3 \begin{equation} y_{1\times3}x_{1\times5}[w^T]_{5\times3}b_{1\times3} \end{equation} y13​x15​[wT]53​b13​​…

AIGC-----AIGC在虚拟现实中的应用前景

AIGC在虚拟现实中的应用前景 引言 随着人工智能生成内容&#xff08;AIGC&#xff09;的快速发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术的应用也迎来了新的契机。AIGC与VR的结合为创造沉浸式体验带来了全新的可能性&#xff0c;这种组合不仅极大地降低了VR内容的…

Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导 一、前言 在充满活力与激情的校园生活中&#xff0c;校运会不仅是…

计算机网络的类型

目录 按覆盖范围分类 个人区域网&#xff08;PAN&#xff09; 局域网&#xff08;LAN&#xff09; 城域网&#xff08;MAN&#xff09; 4. 广域网&#xff08;WAN&#xff09; 按使用场景和性质分类 公网&#xff08;全球网络&#xff09; 外网 内网&#xff08;私有网…

第R4周:LSTM-火灾温度预测(TensorFlow版)

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** 往期文章可查阅&#xff1a; 深度学习总结 任务说明&#xff1a;数据集中提供了火灾温度&#xff08;Tem1&#xff09;、一氧化碳浓度…

手搓人工智能—聚类分析(下)谱系聚类与K-mean聚类

“无论结果如何&#xff0c;至少我们存在过” ——《无人深空》 前言 除了上一篇手搓人工智能-聚类分析&#xff08;上&#xff09;中提到的两种简单聚类方式&#xff0c;还有一些更为常用、更复杂的聚类方式&#xff1a;谱系聚类&#xff0c;K-均值聚类。 谱系聚类 谱系聚类…

文件内容扫描工具

简介 文件扫描助手是一款基于Vite Vue 3 Electron技术栈开发的跨平台桌面应用程序。它提供了强大的文件内容搜索功能&#xff0c;支持Word、Excel、PDF、PPT等常见办公文档格式。用户可以通过关键词快速定位到包含特定内容的文件&#xff0c;极大地提高了文件管理和查找效率…

函数类型注释和Union联合类型注释

函数类型注释格式&#xff08;调用时提示输入参数的类型&#xff09;: )def 函数名(形参名:类型&#xff0c;形参名:类型&#xff09;->函数返回值类型: 函数体 Union联合类型注释&#xff08;可注释多种类型混合的变量&#xff09;格式: #先导入模块 from typing import…

AIGC--AIGC与人机协作:新的创作模式

AIGC与人机协作&#xff1a;新的创作模式 引言 人工智能生成内容&#xff08;AIGC&#xff09;正在以惊人的速度渗透到创作的各个领域。从生成文本、音乐、到图像和视频&#xff0c;AIGC使得创作过程变得更加快捷和高效。然而&#xff0c;AIGC并非完全取代了人类的创作角色&am…

【ue5】UE5运行时下载视频/UE5 runtime download video(MP4)

插件还是老朋友。 节点的content type要打对。 &#xff08;参照表&#xff1a;MIME 类型&#xff08;MIME Type&#xff09;完整对照表 - 免费在线工具&#xff09; 结果展示&#xff1a;

STM32F103外部中断配置

一、外部中断 在上一节我们介绍了STM32f103的嵌套向量中断控制器&#xff0c;其中包括中断的使能、失能、中断优先级分组以及中断优先级配置等内容。 1.1 外部中断/事件控制器 在STM32f103支持的60个可屏蔽中断中&#xff0c;有一些比较特殊的中断&#xff1a; 中断编号13 EXTI…

C嘎嘎探索篇:栈与队列的交响:C++中的结构艺术

C嘎嘎探索篇&#xff1a;栈与队列的交响&#xff1a;C中的结构艺术 前言&#xff1a; 小编在之前刚完成了C中栈和队列&#xff08;stack和queue&#xff09;的讲解&#xff0c;忘记的小伙伴可以去我上一篇文章看一眼的&#xff0c;今天小编将会带领大家吹奏栈和队列的交响&am…

【c语言】文件操作详解 - 从打开到关闭

文章目录 1. 为什么使用文件&#xff1f;2. 什么是文件&#xff1f;3. 如何标识文件&#xff1f;4. 二进制文件和文本文件&#xff1f;5. 文件的打开和关闭5.1 流和标准流5.1.1 流5.1.2 标准流 5.2 文件指针5.3 文件的打开和关闭 6. 文件的读写顺序6.1 顺序读写函数6.2 对比一组…

从 0 到 1 掌握部署第一个 Web 应用到 Kubernetes 中

文章目录 前言构建一个 hello world web 应用项目结构项目核心文件启动项目 检查项目是否构建成功 容器化我们的应用编写 Dockerfile构建 docker 镜像推送 docker 镜像仓库 使用 labs.play-with-k8s.com 构建 Kubernetes 集群并部署应用构建 Kubernetes 集群环境编写部署文件 总…

Matlab以一个图像分类例子总结分类学习的使用方法

目录 前言 导入数据 训练学习 导出训练模型 仿真测试 总结 前言 最近在尝试一些基于Simulink的边沿AI部署,通过这个案例总结Matlab 分类学习功能的使用。本案例通过输入3000张28*28的灰度图像,训练分类学习模型。并验证训练好的模型最后部署到MCU。 导入数据 如下图是…