新增需求、模板、原子化笔记
This commit is contained in:
parent
ac220aea6d
commit
be2260c0d6
1
.obsidian/hotkeys.json
vendored
Normal file
1
.obsidian/hotkeys.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
||||
3
.obsidian/templates.json
vendored
3
.obsidian/templates.json
vendored
@ -1,3 +1,4 @@
|
||||
{
|
||||
"folder": "templates"
|
||||
"folder": "03-资源/模板文件",
|
||||
"dateFormat": "YYYYMMDD"
|
||||
}
|
||||
94
.obsidian/workspace.json
vendored
94
.obsidian/workspace.json
vendored
@ -4,31 +4,17 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "b60c4f1b74858e26",
|
||||
"id": "e8c82a2cdbb2272f",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "475df7806593502f",
|
||||
"id": "db18e826419dedf4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
"backlinkOpts": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
},
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "模块-程序控制-文档说明"
|
||||
"title": "新标签页"
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -63,7 +49,7 @@
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "tag:#知识点/配置 实验室",
|
||||
"query": "find_blobs",
|
||||
"matchingCase": true,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
@ -210,44 +196,46 @@
|
||||
"zk-prefixer:创建时间戳笔记": false
|
||||
}
|
||||
},
|
||||
"active": "475df7806593502f",
|
||||
"active": "db18e826419dedf4",
|
||||
"lastOpenFiles": [
|
||||
"01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md",
|
||||
"01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md",
|
||||
"01-项目/2025-MaixCam竞赛版/需求-色块合并.md",
|
||||
"01-项目/2025-MaixCam竞赛版/需求-程序更新渠道.md",
|
||||
"01-项目/2025-MaixCam竞赛版/需求-控制SK9822灯带.md",
|
||||
"01-项目/2025-MaixCam竞赛版/项目需求.md",
|
||||
"01-项目/2025-MaixCam竞赛版/项目配置.md",
|
||||
"01-项目/2026-新知识融合/项目配置.md",
|
||||
"01-项目/2025-Obsidian知识架构/项目需求.md",
|
||||
"01-项目/2025-Obsidian知识架构/项目配置.md",
|
||||
"01-项目/2025-MaixCam竞赛版/项目Bug清单.md",
|
||||
"05-原子化笔记本/MaixCam-find_blobs说明.md",
|
||||
"01-项目/2025-MaixCam竞赛版/需求-忽略指定大小的色块.md",
|
||||
"03-资源/模板文件/模板-原子化笔记-代码.md",
|
||||
"03-资源/工具清单.md",
|
||||
"03-资源/模板文件/模板-Bug修复.md",
|
||||
"03-资源/模板文件/模板-需求.md",
|
||||
"03-资源/模板文件/模板-豆包-DataView语法.md",
|
||||
"03-资源/模板文件/模板-豆包-DataView归档.md",
|
||||
"03-资源/模板文件/模板-豆包-文档整理.md",
|
||||
"03-资源/模板文件/模板-豆包-翻译内容.md",
|
||||
"03-资源/模板文件/模板-备忘.md",
|
||||
"01-项目/2025-MaixCam竞赛版/需求-OCR补丁.md",
|
||||
"00-临时碎片/20260108-备忘-工具技巧-痛点收集.md",
|
||||
"00-临时碎片/20260107-备忘-MaixCam-需求简报.md",
|
||||
"01-项目/2026-新知识融合/模块-多媒体-清单.md",
|
||||
"01-项目/2026-人工智能/项目配置.md",
|
||||
"00-临时碎片文件夹/20260102-备忘-魔搭-模型部署.md",
|
||||
"01-项目/2026-人工智能/项目需求.md",
|
||||
"01-项目/2026-人工智能/项目总结.md",
|
||||
"01-项目/2026-人工智能/项目Bug清单.md",
|
||||
"01-项目/2026-人工智能",
|
||||
"00-临时碎片文件夹/20260101-备忘-清单.md",
|
||||
"01-项目/2026-新知识融合/项目总结.md",
|
||||
"01-项目/2026-新知识融合/项目需求.md",
|
||||
"01-项目/2026-新知识融合/项目Bug清单.md",
|
||||
"01-项目/2026-新知识融合",
|
||||
"02-领域/知识架构/领域知识地图.md",
|
||||
"01-项目/2025-MaixCam竞赛版-程序控制/项目Bug清单.md",
|
||||
"01-项目/2025-MaixCam竞赛版-程序控制/项目总结.md",
|
||||
"01-项目/2025-MaixCam竞赛版-程序控制/项目需求.md",
|
||||
"01-项目/2025-MaixCam竞赛版-程序控制/项目配置.md",
|
||||
"01-项目/2025-Obsidian知识架构/项目总结.md",
|
||||
"01-项目/2025-Obsidian知识架构/项目Bug清单.md",
|
||||
"02-领域/DataView/领域知识地图.md",
|
||||
"attachments/Pasted image 20251231090751.png",
|
||||
"01-项目/2025-MaixCam竞赛版-程序控制",
|
||||
"快速检索.md.baiduyun.uploading.cfg",
|
||||
"05-原子化笔记本/知识架构-标签配置.md",
|
||||
"05-原子化笔记本/工具技巧-edge兼容性.md",
|
||||
"05-原子化笔记本/MaixCam-RGB转LAB.md",
|
||||
"05-原子化笔记本/Python-排序.md",
|
||||
"00-临时碎片/20260107-备忘-主题名-文件内容.md",
|
||||
"00-临时碎片/20260107-备忘-内容整理产物.md",
|
||||
"02-领域/Python",
|
||||
"attachments/Pasted image 20260106165348.png",
|
||||
"未命名.base",
|
||||
"attachments/未命名.canvas",
|
||||
"03-资源/模板文件",
|
||||
"02-领域/工具技巧",
|
||||
"00-临时碎片/未命名.md.baiduyun.uploading.cfg",
|
||||
"00-临时碎片/未命名 1.md.baiduyun.uploading.cfg",
|
||||
"01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-备忘.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-需求.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-开发任务.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-学习笔记.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-原子化笔记.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-信息记录.md.baiduyun.uploading.cfg",
|
||||
"templates/模板-Bug修复.md.baiduyun.uploading.cfg"
|
||||
"attachments/Pasted image 20251231090751.png"
|
||||
]
|
||||
}
|
||||
287
.obsidian/workspaces.json
vendored
287
.obsidian/workspaces.json
vendored
@ -1,4 +1,287 @@
|
||||
{
|
||||
"workspaces": {},
|
||||
"active": "2"
|
||||
"workspaces": {
|
||||
"\"碎片<->模板\"反馈流": {
|
||||
"main": {
|
||||
"id": "12b4064ee8da62c7",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "fd0f44ad6144a99b",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "81ff36a5ffce86f7",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "00-临时碎片/20260105-需求-MaixCam竞赛版-色块合并.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
"backlinkOpts": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "20260105-需求-MaixCam竞赛版-色块合并"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "490c23b18726545e",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "4175a3a90d742b0e",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "9d1364db59b5b704",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "00-临时碎片/20260105-需求-MaixCam竞赛版-色块合并.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
"backlinkOpts": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "20260105-需求-MaixCam竞赛版-色块合并"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "7d5a0d02fd92fb60",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "a8e7cf27fb6520a3",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "templates/模板-需求.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
"backlinkOpts": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "模板-需求"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal"
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "336d2a6b274ef719",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "aa680c35a6a2a492",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "4fd243e680befac5",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical",
|
||||
"autoReveal": false
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "文件列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "87214c8d838ba29e",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "tag:#需求",
|
||||
"matchingCase": true,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "搜索"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b49f5e211b74c5c6",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "书签"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 367.5
|
||||
},
|
||||
"right": {
|
||||
"id": "bcd5a1ddf3bf1e55",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "de6382cd433e8416",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "5c938eb0880f619c",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "README.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "README 的反向链接列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "efac76290bc96c26",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "README.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "README 的出链列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7999a438f18b01e7",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "标签"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "f6d74e23774b6a7c",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "all-properties",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-archive",
|
||||
"title": "添加笔记属性"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e033c7e7c3201a5a",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "README.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "README 的大纲"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "ed4ec91565ef0c9b",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "footnotes",
|
||||
"state": {
|
||||
"file": "README.md"
|
||||
},
|
||||
"icon": "lucide-file-signature",
|
||||
"title": "脚注"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"templater-obsidian:Templater": false,
|
||||
"switcher:打开快速切换": false,
|
||||
"graph:查看关系图谱": false,
|
||||
"canvas:新建白板": false,
|
||||
"daily-notes:打开/创建今天的日记": false,
|
||||
"templates:插入模板": false,
|
||||
"command-palette:打开命令面板": false,
|
||||
"bases:创建新数据库": false,
|
||||
"workspaces:管理工作区布局": false,
|
||||
"audio-recorder:开始/结束录音": false,
|
||||
"random-note:开始漫游笔记": false,
|
||||
"zk-prefixer:创建时间戳笔记": false
|
||||
}
|
||||
},
|
||||
"active": "a8e7cf27fb6520a3",
|
||||
"mtime": "2026-01-06T10:32:03+08:00"
|
||||
}
|
||||
},
|
||||
"active": "\"碎片<->模板\"反馈流"
|
||||
}
|
||||
59
01-项目/2025-MaixCam竞赛版/需求-OCR补丁.md
Normal file
59
01-项目/2025-MaixCam竞赛版/需求-OCR补丁.md
Normal file
@ -0,0 +1,59 @@
|
||||
#需求/禅道
|
||||
|
||||
20260107-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [x] 临时/需求
|
||||
|
||||
需求类
|
||||
- [ ] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [x] 需求/禅道
|
||||
- [ ] 需求/原子化
|
||||
- [ ] 需求/关闭
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[_增加拍照、OCR补丁_____]
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[_读取指令、存储图像、补丁状态管理_____]
|
||||
|
||||
涉及知识:[__图像的存储______]
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__OCR检测____] 驱动
|
||||
- 目的清:解决的[_OCR检测不稳定____] 问题,服务于 [_OCR目标检测__]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__拍照后交由补丁算法进行识别______]
|
||||
|
||||
预估时间:[__3______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. [__增加拍照指令,存储三张照片______]
|
||||
2. [__启动OCR补丁算法,读取第一张图片进行处理______]
|
||||
3. [__色差转换、裁剪等操作______]
|
||||
4. [__提交识别集、最大概率结果到缓存区______]
|
||||
5. [__交由应答程序处理缓存区______]
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
33
01-项目/2025-MaixCam竞赛版/需求-优化启动速度.md
Normal file
33
01-项目/2025-MaixCam竞赛版/需求-优化启动速度.md
Normal file
@ -0,0 +1,33 @@
|
||||
#需求/禅道
|
||||
|
||||
20260105-需求-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
- 20251231(`v1.0.3`):增加关联模板
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
摄像头启动和程序启动速度慢
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
优化启动画面
|
||||
1. 查询资料编译自定义系统
|
||||
2. 询问官方途径
|
||||
|
||||
程序启动速度
|
||||
1. 评估启动速度
|
||||
2. 尝试开机优先启动画面来提升用户感受
|
||||
|
||||
### 初步评估
|
||||
|
||||
需要排查评估,预估开发时间未知
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
60
01-项目/2025-MaixCam竞赛版/需求-忽略指定大小的色块.md
Normal file
60
01-项目/2025-MaixCam竞赛版/需求-忽略指定大小的色块.md
Normal file
@ -0,0 +1,60 @@
|
||||
#需求/禅道
|
||||
|
||||
20260108-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [ ] 临时/需求
|
||||
|
||||
需求类
|
||||
- [ ] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [x] 需求/禅道
|
||||
- [ ] 需求/原子化
|
||||
- [ ] 需求/关闭
|
||||
- [ ] 需求/取消
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[_忽略指定大小的色块(需考虑分辨率、缩放比例、宽、高不一致的情况_____]
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[_色块识别算法参数设置_____]
|
||||
|
||||
涉及知识:
|
||||
- [[MaixCam-find_blobs说明]]:area_threshold、pixels_threshold
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__色块识别检测____] 驱动
|
||||
- 目的清:解决的[_杂乱小色块____] 问题,服务于 [_色块识别检测__]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__暴露参数设置______]
|
||||
|
||||
预估时间:[__1______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. [__暴露参数给参数调试______]
|
||||
2. [__使用参数调试测试效果______]
|
||||
3. [__暴露参数给程序控制______]
|
||||
4. [__更新操作说明______]
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
63
01-项目/2025-MaixCam竞赛版/需求-控制SK9822灯带.md
Normal file
63
01-项目/2025-MaixCam竞赛版/需求-控制SK9822灯带.md
Normal file
@ -0,0 +1,63 @@
|
||||
#需求/取消
|
||||
|
||||
20260107-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [ ] 临时/需求
|
||||
|
||||
需求类
|
||||
- [ ] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [ ] 需求/禅道
|
||||
- [ ] 需求/原子化
|
||||
- [ ] 需求/关闭
|
||||
- [x] 需求/取消
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[_MaixCam控制SK9822灯带_____]
|
||||
|
||||
已完成初步测试:[初步实现-禅道](https://zentao.juecha.fun/index.php?m=projectstory&f=view&storyID=56&projectID=44)
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[_MaixCam、SK9822_____]
|
||||
|
||||
涉及知识:
|
||||
- [__SPI______]
|
||||
- [初步实现-禅道](https://zentao.juecha.fun/index.php?m=projectstory&f=view&storyID=56&projectID=44)
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__物理上需要控制SK9822____] 驱动
|
||||
- 目的清:解决的[_摄像头补光问题____] 问题,服务于 [_摄像头受光线影响__]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__尝试使用 GPIO;尝试使用 SPI;______]
|
||||
|
||||
预估时间:[__3______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. [__了解MaixCam硬件引脚______]
|
||||
2. [___使用 GPIO_____]
|
||||
3. [___使用SPI_____]
|
||||
4. [___封装代码_____]
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
58
01-项目/2025-MaixCam竞赛版/需求-程序更新渠道.md
Normal file
58
01-项目/2025-MaixCam竞赛版/需求-程序更新渠道.md
Normal file
@ -0,0 +1,58 @@
|
||||
#需求/评估
|
||||
|
||||
20260105-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [x] 临时/需求
|
||||
|
||||
需求类
|
||||
- [x] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [ ] 需求/禅道
|
||||
- [ ] 需求/原子化
|
||||
- [ ] 需求/关闭
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[_用户更新程序的方式途径_____]
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[_提供程序更新入口给用户_____]
|
||||
|
||||
涉及知识:[__MaixCam通讯机制______]
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__程序升级迭代____] 驱动
|
||||
- 目的清:解决的[_用户升级最新程序操作繁琐____] 问题,服务于 [_程序升级后边缘设备能够加载最新版本__]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__Windows与MaixCam通讯,尝试脚本发送、执行等操作______]
|
||||
|
||||
预估时间:[__3______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. [__先了解MaixCam的程序运行机制______]
|
||||
2. [___将程序文件发送给MaixCam_____]
|
||||
3. [___执行覆盖更新的操作_____]
|
||||
4. [___更新失败后回退_____]
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
58
01-项目/2025-MaixCam竞赛版/需求-色块合并.md
Normal file
58
01-项目/2025-MaixCam竞赛版/需求-色块合并.md
Normal file
@ -0,0 +1,58 @@
|
||||
#需求/关闭
|
||||
|
||||
20260105-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [x] 临时/需求
|
||||
|
||||
需求类
|
||||
- [x] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [ ] 需求/禅道
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
将相邻的两个色块识别为一个目标
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[__程序控制模块、参数调试模块、______]
|
||||
|
||||
涉及知识:[__寻找色块算法参数______]
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__相邻色块______] 驱动
|
||||
- 目的清:解决的[_色块算法检测结果合并参数固定_____] 问题,服务于 [_自定义控制合并范围___]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__暴露色块合并参数______]
|
||||
|
||||
预估时间:[__2______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. 查询色块方法参数
|
||||
2. 暴露出合并参数给用户
|
||||
1. 暴露给参数调试
|
||||
2. 暴露给程序控制
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
- [[MaixCam-find_blobs说明]]
|
||||
|
||||
@ -1,4 +1,26 @@
|
||||
|
||||
[项目工作空间](https://zentao.juecha.fun/index.php?m=project&f=index&project=44)
|
||||
```dataview
|
||||
TABLE without ID
|
||||
link(file.path, file.name) as "文件名", filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态", file.mtime AS "最后修改时间"
|
||||
FROM "01-项目/2025-MaixCam竞赛版"
|
||||
WHERE startswith(file.name, "需求") and any(file.tags, (t)=>t="#需求/评估")
|
||||
SORT file.mtime DESC
|
||||
```
|
||||
|
||||
```dataview
|
||||
TABLE without ID
|
||||
link(file.path, file.name) as "文件名", filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态", file.mtime AS "最后修改时间"
|
||||
FROM "01-项目/2025-MaixCam竞赛版"
|
||||
WHERE startswith(file.name, "需求") and any(file.tags, (t)=>t="#需求/禅道")
|
||||
SORT file.mtime DESC
|
||||
```
|
||||
|
||||
```dataview
|
||||
TABLE without ID
|
||||
link(file.path, file.name) as "文件名", filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态", file.mtime AS "最后修改时间"
|
||||
FROM "01-项目/2025-MaixCam竞赛版"
|
||||
WHERE startswith(file.name, "需求") and any(file.tags, (t)=>t="#需求/原子化")
|
||||
SORT file.mtime DESC
|
||||
```
|
||||
|
||||
|
||||
|
||||
@ -10,3 +10,4 @@
|
||||
- 灵魂摆渡
|
||||
- 唐朝诡事录
|
||||
- 潜伏
|
||||
- 晚酌的流派
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
|
||||
- [[DataView-文件夹下”需求“开头的文件]]
|
||||
- [[DataView-语法知识点]]
|
||||
|
||||
2
02-领域/Python/领域知识地图.md
Normal file
2
02-领域/Python/领域知识地图.md
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
- [[Python-排序]]]
|
||||
2
02-领域/工具技巧/领域知识地图.md
Normal file
2
02-领域/工具技巧/领域知识地图.md
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
- [[工具技巧-edge兼容性]]
|
||||
0
03-资源/模板文件/2025-项目模板/项目总结.md
Normal file
0
03-资源/模板文件/2025-项目模板/项目总结.md
Normal file
0
03-资源/模板文件/2025-项目模板/项目配置.md
Normal file
0
03-资源/模板文件/2025-项目模板/项目配置.md
Normal file
0
03-资源/模板文件/2025-项目模板/项目需求.md
Normal file
0
03-资源/模板文件/2025-项目模板/项目需求.md
Normal file
@ -1,18 +1,33 @@
|
||||
#临时/Bug
|
||||
|
||||
{{date}}-Bug-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`1.0.1`):增加分割线和一句话描述
|
||||
- 20251230:新增待修订版本
|
||||
- 20251230:模板创建
|
||||
|
||||
待修订版本:`xxx-v`
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
这是一个Bug修复的模板
|
||||
|
||||
## 一、原始Bug记录
|
||||
...(原有内容)
|
||||
|
||||
[步骤]
|
||||
|
||||
[结果]
|
||||
|
||||
[期望]
|
||||
|
||||
## 二、信息检索操作
|
||||
|
||||
...(原有内容)
|
||||
|
||||
## 三、提问优化内容
|
||||
|
||||
...(原有内容)
|
||||
|
||||
## 四、AI解答核心内容(新增区块,极简记录)
|
||||
## 四、AI解答核心内容
|
||||
|
||||
...(原有内容)
|
||||
@ -1,8 +1,18 @@
|
||||
#领域/MaixCam
|
||||
|
||||
{{date}}-原子化笔记-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.1`):增加一句话描述和分割线
|
||||
- 20251230(`v1.0.0`):模板创建
|
||||
|
||||
注释:**1-3 句话的核心逻辑 + 代码片段**
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[__这是一个原子化笔记文件的模板______]
|
||||
|
||||
## 核心定义
|
||||
|
||||
触摸屏支持分辨率为 552 x 368 分辨率,菜单控件的更新操作和屏幕显示之间不建议插入其他代码,以免菜单显示错位
|
||||
13
03-资源/模板文件/模板-备忘.md
Normal file
13
03-资源/模板文件/模板-备忘.md
Normal file
@ -0,0 +1,13 @@
|
||||
#临时/备忘
|
||||
|
||||
{{date}}-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[________]
|
||||
|
||||
75
03-资源/模板文件/模板-豆包-DataView归档.md
Normal file
75
03-资源/模板文件/模板-豆包-DataView归档.md
Normal file
@ -0,0 +1,75 @@
|
||||
#临时/备忘
|
||||
|
||||
{{date}}-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260107(`v1.0.2`):输出格式说明
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
注意:请忽略以上内容
|
||||
|
||||
---
|
||||
|
||||
## 输入内容
|
||||
|
||||
```dataview
|
||||
TABLE without ID
|
||||
link(file.path, file.name) as "文件名", filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态", file.mtime AS "最后修改时间"
|
||||
FROM "01-项目/2025-MaixCam竞赛版"
|
||||
WHERE startswith(file.name, "需求") and any(file.tags, (t)=>startswith(t, "#需求/"))
|
||||
SORT file.mtime DESC
|
||||
```
|
||||
|
||||
## 操作需求
|
||||
需要进行如下操作
|
||||
- [x] 输入内容整理归档为知识点
|
||||
|
||||
## 输出格式
|
||||
|
||||
- [x] markdown 表格
|
||||
|
||||
| 语法模块 | 说明 | 示例 |
|
||||
| ------------------------------------------------------ | ------------------------------------------------- | -------------------------------------------------------------------- |
|
||||
| `TABLE without ID` | 生成无默认序号列的 Dataview 表格,仅显示自定义配置的列 | `TABLE without ID` |
|
||||
| `filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态"` | 从文件的所有标签中,筛选出以 `#需求/` 为前缀的标签(过滤无关标签),并指定列标题为 “状态” | 若文件标签为 `#需求/已完成 #笔记 #需求/待开发`,筛选结果为 `["#需求/已完成", "#需求/待开发"]` |
|
||||
| `file.mtime AS "最后修改时间"` | 提取文件的最后修改时间(系统记录的文件更新时间),并指定列标题为 “最后修改时间” | `file.mtime AS "最后修改时间"` → 表格中显示格式如「2026-01-07 16:45:30」的时间 |
|
||||
| `FROM "01-项目/2025-MaixCam竞赛版"` | 指定 Dataview 查询的数据来源文件夹,仅查询该路径下的所有文件 | `FROM "01-项目/2025-MaixCam竞赛版"` |
|
||||
| `startswith(file.name, "需求")` | 筛选文件名以 “需求” 开头的文件,精准匹配目标需求文档 | `startswith(file.name, "需求")` → 匹配「需求 - 图像识别功能.md」,不匹配「文档 - 需求清单.md」 |
|
||||
- [x] markdown - plaintext
|
||||
|
||||
```plaintext
|
||||
#领域/DataView
|
||||
|
||||
## 一句话描述
|
||||
|
||||
整理归档 DataView 语法知识点
|
||||
|
||||
## 知识点开始
|
||||
|
||||
| 语法模块 | 说明 | 示例 |
|
||||
| ------------------------------------------------------ | --------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `TABLE without ID` | 生成无默认序号列的 Dataview 表格,仅显示自定义配置的列 | `TABLE without ID 列1, 列2 AS "自定义标题"` |
|
||||
| `link(file.path, file.name) as "文件名"` | 将文件路径转为可点击链接,显示文本为文件名,指定列标题为 “文件名” | `link(file.path, file.name) as "文件名"` → 表格中显示可跳转的文件名称链接 |
|
||||
| `filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态"` | 从文件所有标签中筛选以 `#需求/` 为前缀的标签(过滤无关标签),指定列标题为 “状态” | 若文件标签为 `#需求/已完成 #笔记 #需求/待开发`,筛选结果为 `["#需求/已完成", "#需求/待开发"]` |
|
||||
| `file.mtime AS "最后修改时间"` | 提取文件系统记录的最后修改时间,指定列标题为 “最后修改时间” | `file.mtime AS "最后修改时间"` → 显示格式如「2026-01-07 16:45:30」的时间 |
|
||||
| `FROM "01-项目/2025-MaixCam竞赛版"` | 指定 Dataview 查询的数据来源文件夹,仅查询该路径下的文件 | `FROM "01-项目/2025-MaixCam竞赛版"` → 仅检索该文件夹内所有文件 |
|
||||
| `startswith(file.name, "需求")` | 筛选文件名以 “需求” 开头的文件,精准匹配目标需求文档 | 匹配「需求 - 图像识别功能.md」,不匹配「文档 - 需求清单.md」 |
|
||||
| `any(file.tags, (t)=>startswith(t, "#需求/"))` | 判断文件是否存在以 `#需求/` 为前缀的标签,返回布尔值(用于筛选文件) | 存在符合标签则保留文件,无则排除 |
|
||||
|
||||
## 知识点结束
|
||||
|
||||
```
|
||||
|
||||
## 注意
|
||||
1. 请判断勾选框是否处于被勾选状态,例如json勾选框处于未被勾选状态,则无需输出json格式
|
||||
2. 我希望复制后,能够直接插入markdown,所以你要注意格式排版,例如使用markdown显示后,使用plaintext包裹显示完整的markdown语句
|
||||
3. 考虑到操作方便,需要在 plaintext 包裹的内容内添加 “知识点开始”、“知识点结束”的标识
|
||||
4. 若`已归档内容`部分不为空,你需要将新归纳的内容合并到已归档内容中
|
||||
|
||||
---
|
||||
|
||||
## 已归档内容
|
||||
|
||||
- [[DataView-语法知识点]]
|
||||
|
||||
|
||||
45
03-资源/模板文件/模板-豆包-DataView语法.md
Normal file
45
03-资源/模板文件/模板-豆包-DataView语法.md
Normal file
@ -0,0 +1,45 @@
|
||||
#临时/备忘
|
||||
|
||||
{{date}}-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
注意:请忽略以上内容
|
||||
|
||||
---
|
||||
|
||||
## 输入内容
|
||||
|
||||
查询:[__指定目录`00-文件夹/子文件夹1`下以文件名`需求`开头的文件______]
|
||||
|
||||
展示:[__文件名、指定tag、最后修改时间______]
|
||||
|
||||
## 操作需求
|
||||
|
||||
需要进行如下操作
|
||||
- [x] dataview语法实现
|
||||
- [x] 表格查询
|
||||
- [ ] 列表查询
|
||||
|
||||
## 输出格式
|
||||
|
||||
- [x] markdown
|
||||
|
||||
## 注意
|
||||
1. 请判断勾选框是否处于被勾选状态,例如json勾选框处于未被勾选状态,则无需输出json格式
|
||||
2. 我希望复制后,能够直接插入markdown,所以你要注意格式排版
|
||||
|
||||
---
|
||||
|
||||
注意:请忽略以下内容
|
||||
|
||||
## 输出结果
|
||||
|
||||
```dataview
|
||||
TABLE without ID
|
||||
link(file.path, file.name) as "文件名", filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态", file.mtime AS "最后修改时间"
|
||||
FROM "01-项目/2025-MaixCam竞赛版"
|
||||
WHERE startswith(file.name, "需求") and any(file.tags, (t)=>startswith(t, "#需求/"))
|
||||
SORT file.mtime DESC
|
||||
```
|
||||
52
03-资源/模板文件/模板-豆包-文档整理.md
Normal file
52
03-资源/模板文件/模板-豆包-文档整理.md
Normal file
@ -0,0 +1,52 @@
|
||||
#临时/备忘
|
||||
|
||||
{{date}}-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260107(`v1.0.2`):输出格式说明
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
注意:请忽略以上内容
|
||||
|
||||
---
|
||||
|
||||
## 操作需求
|
||||
需要进行如下操作
|
||||
- [x] 输入内容整理归纳至已归档内容
|
||||
|
||||
## 输出格式
|
||||
|
||||
- [x] markdown
|
||||
|
||||
- [x] markdown - plaintext
|
||||
|
||||
```plaintext
|
||||
#领域/DataView
|
||||
|
||||
## 一句话描述
|
||||
|
||||
整理归档内容
|
||||
|
||||
## 内容开始
|
||||
|
||||
归档整理的内容
|
||||
|
||||
## 内容结束
|
||||
|
||||
```
|
||||
|
||||
## 注意
|
||||
1. 请判断勾选框是否处于被勾选状态,例如json勾选框处于未被勾选状态,则无需输出json格式
|
||||
2. 我希望复制后,能够直接插入markdown,所以你要注意格式排版,例如使用markdown显示后,使用plaintext包裹显示完整的markdown语句
|
||||
3. 考虑到操作方便,需要在 plaintext 包裹的内容内添加 “内容开始”、“内容结束”的标识
|
||||
4. 若`已归档内容`部分不为空,你需要将新归纳的内容合并到已归档内容中
|
||||
5. 在不偏离本意的前提下,你可以适当润色内容和格式
|
||||
|
||||
---
|
||||
|
||||
## 输入内容
|
||||
|
||||
[________]
|
||||
|
||||
## 已归档内容
|
||||
|
||||
49
03-资源/模板文件/模板-豆包-翻译内容.md
Normal file
49
03-资源/模板文件/模板-豆包-翻译内容.md
Normal file
@ -0,0 +1,49 @@
|
||||
#临时/备忘
|
||||
|
||||
{{date}}-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260107(`v1.0.2`):输出格式说明
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
注意:请忽略以上内容
|
||||
|
||||
---
|
||||
|
||||
## 输入内容
|
||||
|
||||
[____你叫什么名字____]
|
||||
|
||||
## 操作需求
|
||||
需要进行如下操作
|
||||
- [ ] 翻译为中文
|
||||
- [x] 翻译为英文
|
||||
- [x] 翻译为法文
|
||||
- [ ] 翻译为德文
|
||||
|
||||
## 输出格式
|
||||
|
||||
- [x] markdown
|
||||
|
||||
| 目标语言 | 翻译内容 |
|
||||
| ---- | ----------------- |
|
||||
| 英文 | What's your name? |
|
||||
| ... | ... |
|
||||
|
||||
- [x] json
|
||||
```json
|
||||
{
|
||||
"英文": "What's your name?",
|
||||
"法文": "Comment t'appelles-tu ?"
|
||||
}
|
||||
```
|
||||
|
||||
## 注意
|
||||
1. 请判断勾选框是否处于被勾选状态,例如json勾选框处于未被勾选状态,则无需输出json格式
|
||||
2. 我希望复制后,能够直接插入markdown,所以你要注意格式排版
|
||||
|
||||
---
|
||||
|
||||
注意:请忽略以下内容
|
||||
|
||||
## 输出结果
|
||||
60
03-资源/模板文件/模板-需求.md
Normal file
60
03-资源/模板文件/模板-需求.md
Normal file
@ -0,0 +1,60 @@
|
||||
#临时/需求 #需求/碎片
|
||||
|
||||
{{date}}-需求-主题名-文件内容
|
||||
|
||||
## 标签类别
|
||||
|
||||
临时类
|
||||
- [x] 临时/需求
|
||||
|
||||
需求类
|
||||
- [x] 需求/碎片
|
||||
- [ ] 需求/评估
|
||||
- [ ] 需求/禅道
|
||||
- [ ] 需求/原子化
|
||||
- [ ] 需求/关闭
|
||||
- [ ] 需求/取消
|
||||
|
||||
## 模板变更
|
||||
- 20260106(`v1.0.6)`:标签类别、需求描述、初步评估、建议操作
|
||||
- 20260105(`v1.0.5`):增加一句话描述
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[_用户更新程序的方式途径_____]
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 需求描述
|
||||
|
||||
涉及内容:[_提供程序更新入口给用户_____]
|
||||
|
||||
涉及知识:[__MaixCam通讯机制______]
|
||||
|
||||
检查任务队列是否满足“三清”标准:
|
||||
- 来源清:[__程序升级迭代____] 驱动
|
||||
- 目的清:解决的[_用户升级最新程序操作繁琐____] 问题,服务于 [_程序升级后边缘设备能够加载最新版本__]
|
||||
- 状态清:[__进行中______]
|
||||
|
||||
(谁/什么驱动的?)(解决什么问题?服务哪个目标?)(进行中/等待/阻塞)
|
||||
|
||||
### 初步评估
|
||||
|
||||
方案简述:[__Windows与MaixCam通讯,尝试脚本发送、执行等操作______]
|
||||
|
||||
预估时间:[__3______] h
|
||||
|
||||
## 建议操作
|
||||
|
||||
1. [________]
|
||||
2. [__先了解MaixCam的程序运行机制______]
|
||||
3. [___将程序文件发送给MaixCam_____]
|
||||
4. [___执行覆盖更新的操作_____]
|
||||
5. [___更新失败后回退_____]
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
@ -1,18 +0,0 @@
|
||||
#领域/DataView
|
||||
|
||||
## 模板变更
|
||||
- 20251230(`v1.0.0`):模板创建
|
||||
|
||||
# 核心定义
|
||||
|
||||
```plain
|
||||
编写一个 dataview(Obsidian插件) 查询的示例,查询出指定文件夹下所有“需求”开头的文件
|
||||
```
|
||||
|
||||
```dataview
|
||||
|
||||
table
|
||||
from "00-临时碎片文件夹"
|
||||
where startswith(file.name, "需求")
|
||||
```
|
||||
|
||||
19
05-原子化笔记本/DataView-语法知识点.md
Normal file
19
05-原子化笔记本/DataView-语法知识点.md
Normal file
@ -0,0 +1,19 @@
|
||||
#领域/DataView
|
||||
|
||||
## 一句话描述
|
||||
|
||||
整理归档 DataView 语法知识点
|
||||
|
||||
## 知识点开始
|
||||
|
||||
| 语法模块 | 说明 | 示例 |
|
||||
| ------------------------------------------------------ | --------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `TABLE without ID` | 生成无默认序号列的 Dataview 表格,仅显示自定义配置的列 | `TABLE without ID 列1, 列2 AS "自定义标题"` |
|
||||
| `link(file.path, file.name) as "文件名"` | 将文件路径转为可点击链接,显示文本为文件名,指定列标题为 “文件名” | `link(file.path, file.name) as "文件名"` → 表格中显示可跳转的文件名称链接 |
|
||||
| `filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态"` | 从文件所有标签中筛选以 `#需求/` 为前缀的标签(过滤无关标签),指定列标题为 “状态” | 若文件标签为 `#需求/已完成 #笔记 #需求/待开发`,筛选结果为 `["#需求/已完成", "#需求/待开发"]` |
|
||||
| `file.mtime AS "最后修改时间"` | 提取文件系统记录的最后修改时间,指定列标题为 “最后修改时间” | `file.mtime AS "最后修改时间"` → 显示格式如「2026-01-07 16:45:30」的时间 |
|
||||
| `FROM "01-项目/2025-MaixCam竞赛版"` | 指定 Dataview 查询的数据来源文件夹,仅查询该路径下的文件 | `FROM "01-项目/2025-MaixCam竞赛版"` → 仅检索该文件夹内所有文件 |
|
||||
| `startswith(file.name, "需求")` | 筛选文件名以 “需求” 开头的文件,精准匹配目标需求文档 | 匹配「需求 - 图像识别功能.md」,不匹配「文档 - 需求清单.md」 |
|
||||
| `any(file.tags, (t)=>startswith(t, "#需求/"))` | 判断文件是否存在以 `#需求/` 为前缀的标签,返回布尔值(用于筛选文件) | 存在符合标签则保留文件,无则排除 |
|
||||
|
||||
## 知识点结束
|
||||
68
05-原子化笔记本/MaixCam-find_blobs说明.md
Normal file
68
05-原子化笔记本/MaixCam-find_blobs说明.md
Normal file
@ -0,0 +1,68 @@
|
||||
#领域/MaixCam
|
||||
|
||||
20260105-备忘-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.1`):增加分割线区分提示内容和实际内容
|
||||
- 20260105(`v1.0.0`):模板创建
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
说明 Image.find_bobs 函数
|
||||
|
||||
## 核心定义
|
||||
|
||||
查找图像中的所有色块(blobs / 连通域),并返回一个 `image.Blob` 类的列表,每个 `image.Blob` 实例用于描述一个色块
|
||||
|
||||
## 最小实现代码
|
||||
|
||||
```python
|
||||
img = cam.read()
|
||||
...
|
||||
blobs = img.find_blobs((0, 100, -129, 129, -129, 129),
|
||||
pixels_threshold=200,
|
||||
merge=True,
|
||||
margin=5
|
||||
)
|
||||
```
|
||||
|
||||
## 函数定义
|
||||
|
||||
```python
|
||||
def find_blobs(
|
||||
self,
|
||||
thresholds: list[list[int]] = [],
|
||||
invert: bool = False,
|
||||
roi: list[int] = [],
|
||||
x_stride: int = 2,
|
||||
y_stride: int = 1,
|
||||
area_threshold: int = 10,
|
||||
pixels_threshold: int = 10,
|
||||
merge: bool = False,
|
||||
margin: int = 0,
|
||||
x_hist_bins_max: int = 0,
|
||||
y_hist_bins_max: int = 0
|
||||
) -> list[Blob]:
|
||||
```
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数名 | 描述 |
|
||||
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| thresholds | 可定义多个阈值:<br><br>- 灰度(GRAYSCALE)格式:使用 `{{Lmin, Lmax}, ...}` 定义一个或多个阈值;<br><br>- RGB888 格式:使用 `{{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...}` 定义一个或多个阈值;<br><br>其中大写 L/A/B 代表 LAB 图像格式的对应通道,min/max 代表对应通道的最小值和最大值。 |
|
||||
| invert | 若设为 True,会在查找色块前反转阈值,默认值为 False。 |
|
||||
| roi | 感兴趣区域(ROI),输入格式为 `(x, y, w, h)`:x 和 y 为左上角坐标,w 和 h 为 ROI 的宽度和高度;默认值为空列表,代表处理整张图像。 |
|
||||
| x_stride | X 方向步长,即执行霍夫变换时跳过的 X 方向像素数,默认值为 2。 |
|
||||
| y_stride | Y 方向步长,即执行霍夫变换时跳过的 Y 方向像素数,默认值为 1。 |
|
||||
| area_threshold | 面积阈值:若色块面积小于该值,则不返回该色块,默认值为 10。 |
|
||||
| pixels_threshold | 像素数阈值:若色块的像素数量小于该值,则不返回该色块,默认值为 10;<br><br>当 x_stride 和 y_stride 均为 1 时,该参数与 area_threshold 等效。 |
|
||||
| merge | 若设为 True,会合并所有未被过滤、且外接矩形相交的色块,默认值为 False。 |
|
||||
| margin | 边距:用于在相交检测时扩大 / 缩小色块外接矩形的尺寸;例如,边距设为 1 时,外接矩形间距为 1 像素的色块会被合并,默认值为 0。 |
|
||||
| x_hist_bins_max | 若设为非 0 值,会在每个色块对象中填充一个直方图缓冲区,存储该对象所有列的 X 方向直方图投影;该值用于设置投影的分箱数,默认值为 0。 |
|
||||
| y_hist_bins_max | 若设为非 0 值,会在每个色块对象中填充一个直方图缓冲区,存储该对象所有行的 Y 方向直方图投影;该值用于设置投影的分箱数,默认值为 0。 |
|
||||
|
||||
## 关联资源
|
||||
|
||||
- [MaixPy API - find_blobs](https://wiki.sipeed.com/maixpy/api/maix/image.html#find_blobs)
|
||||
|
||||
108
05-原子化笔记本/Python-排序.md
Normal file
108
05-原子化笔记本/Python-排序.md
Normal file
@ -0,0 +1,108 @@
|
||||
#领域/Python
|
||||
|
||||
20260108-原子化笔记-主题名-文件内容
|
||||
## 模板变更
|
||||
- 20260105(`v1.0.1`):增加一句话描述和分割线
|
||||
- 20251230(`v1.0.0`):模板创建
|
||||
|
||||
注释:**1-3 句话的核心逻辑 + 代码片段**
|
||||
|
||||
---
|
||||
|
||||
## 一句话描述
|
||||
|
||||
[__Python 核心排序方法(sorted () 与 list.sort ())的特性对比、基础用法、自定义排序规则及性能优化技巧______]
|
||||
|
||||
## 核心定义
|
||||
|
||||
围绕核心排序方法 `sorted()` 和 `list.sort()` 的实现,二者核心特性对比如下:
|
||||
|
||||
|特性|sorted(iterable)|list.sort()|
|
||||
|---|---|---|
|
||||
|返回值|返回**新的排序后列表**,原数据保持不变|无返回值(None),**原地修改**原列表|
|
||||
|适用对象|所有可迭代对象(列表、元组、字典等)|仅列表(list)类型|
|
||||
|内存占用|占用额外内存(生成新列表)|无额外内存消耗(原地修改)|
|
||||
|常用场景|需保留原数据、非列表对象的排序需求|无需保留原数据、仅针对列表的排序场景|
|
||||
|
||||
## 基础排序用法
|
||||
|
||||
```python
|
||||
# sorted():生成新列表
|
||||
nums = [3, 1, 2]
|
||||
new_nums = sorted(nums) # new_nums=[1,2,3], nums仍为[3,1,2]
|
||||
|
||||
# list.sort():原地修改
|
||||
nums.sort() # nums变为[1,2,3],返回None
|
||||
```
|
||||
|
||||
|
||||
## 自定义排序规则
|
||||
|
||||
### 1. key 参数(lambda / 自定义函数)
|
||||
|
||||
- 单维度排序:`key=lambda 元素: 元素.属性`
|
||||
- 多维度排序:`key=lambda 元素: (属性1, 属性2)`(优先按属性 1,相等则按属性 2)
|
||||
|
||||
```python
|
||||
# 优先x升序 → 其次y升序(你的核心需求)
|
||||
sorted_list = sorted(msg_list, key=lambda m: (m.x, m.y))
|
||||
|
||||
# 反向:优先x降序 → 其次y降序
|
||||
sorted_list_rev = sorted(msg_list, key=lambda m: (m.x, m.y), reverse=True)
|
||||
|
||||
# 更复杂场景:x升序,y降序(混合方向)
|
||||
sorted_list_mix = sorted(msg_list, key=lambda m: (m.x, -m.y)) # -y实现y降序
|
||||
```
|
||||
|
||||
### 重写类的比较方法(**lt**)
|
||||
|
||||
如果某个类的排序规则是 “长期固定” 的,可重写类的`__lt__`(小于)方法,Python 排序会自动基于`<`推导其他比较逻辑,无需指定`key`。
|
||||
|
||||
```python
|
||||
class Msg:
|
||||
# x, y 属性
|
||||
|
||||
# 定义“小于”规则:先比x,再比y
|
||||
def __lt__(self, other):
|
||||
if not isinstance(other, Msg): # 避免类型错误,提升健壮性
|
||||
return NotImplemented
|
||||
if self.x != other.x:
|
||||
return self.x < other.x
|
||||
return self.y < other.y
|
||||
|
||||
# 直接排序,无需key
|
||||
sorted_list = sorted(msg_list)
|
||||
```
|
||||
|
||||
## 性能优化技巧
|
||||
|
||||
### 提前排序键
|
||||
|
||||
对于大规模数据(万级以上),提前提取排序键(避免重复计算)
|
||||
|
||||
```python
|
||||
# 先生成(键, 对象)元组列表,排序后提取对象(减少属性访问次数)
|
||||
key_obj = [( (m.x, m.y), m ) for m in msg_list]
|
||||
key_obj.sort()
|
||||
sorted_list = [obj for (key, obj) in key_obj]
|
||||
```
|
||||
|
||||
避免在`key`中使用复杂计算(如函数调用),优先预计算。
|
||||
|
||||
### operator 替代 lambda
|
||||
|
||||
内置的 `operator.attrgetter` 更简洁、大规模数据下性能更好(底层是 C 实现)
|
||||
|
||||
```python
|
||||
# 等价于 lambda m: (m.x, m.y),但更快、更简洁
|
||||
sorted_list = sorted(msg_list, key=attrgetter("x", "y"))
|
||||
print(sorted_list) # [Msg(i=2, x=1, y=3), Msg(i=3, x=2, y=1), Msg(i=1, x=3, y=2)]
|
||||
|
||||
# 反向排序(x降→y升)
|
||||
sorted_rev = sorted(msg_list, key=attrgetter("x", "y"), reverse=True)
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
|
||||
- 避免在 `key` 中使用复杂函数调用,优先通过预计算简化排序键
|
||||
- 大规模数据排序时,优先选择 `list.sort()`(原地修改)减少内存占用
|
||||
10
05-原子化笔记本/工具技巧-edge兼容性.md
Normal file
10
05-原子化笔记本/工具技巧-edge兼容性.md
Normal file
@ -0,0 +1,10 @@
|
||||
#领域/工具技巧
|
||||
## 一句话描述
|
||||
|
||||
为了能够使用IE兼容模式打开网页,添加网址到 Internet Explorer 模式页面
|
||||
|
||||
## 核心定义
|
||||
|
||||
1. 进入 edge 设置
|
||||
2. 进入”默认浏览器“-”Internet Explorer 兼容性"
|
||||
3. 添加页面链接到"Internet Explorer 模式页面"
|
||||
@ -1,2 +0,0 @@
|
||||
## 最近变更
|
||||
- 20251230:模板创建
|
||||
@ -1,2 +0,0 @@
|
||||
## 最近变更
|
||||
- 20251230:模板创建
|
||||
@ -1,2 +0,0 @@
|
||||
## 最近变更
|
||||
- 20251230:模板创建
|
||||
@ -1,28 +0,0 @@
|
||||
#临时/备忘
|
||||
|
||||
## 模板变更
|
||||
关联模板:[[模板-需求]]
|
||||
- 20251231(`v1.0.4`):增加核心信息(需求描述、初步评估、关联资源)
|
||||
- 20251231(`v1.0.3`):增加关联模板
|
||||
- 20251230(`v1.0.2`):增加基础信息
|
||||
- 20251230(`v1.0.1`):增加版本、修订版本字段
|
||||
- 20251230(`v1.0.0`):模板创建
|
||||
|
||||
|
||||
## 基本信息
|
||||
|
||||
### 环境依赖
|
||||
|
||||
分界版本:`config-debug-v1.0.4`
|
||||
|
||||
### 需求描述
|
||||
|
||||
增加**上一个**和**返回**按钮
|
||||
|
||||
### 初步评估
|
||||
|
||||
在菜单配置项中添加两个固定按钮,并关联点击事件,预估开发 1 工时
|
||||
|
||||
### 关联资源
|
||||
|
||||
- [[01-项目/2025-MaixCam竞赛版/项目需求|项目需求]]
|
||||
Loading…
x
Reference in New Issue
Block a user