增加:MaixCam项目中”参数调试“和”程序控制说明文档;

This commit is contained in:
心平气和 2026-01-04 17:28:12 +08:00
parent 6b02473dfb
commit 8e34dfac2e
16 changed files with 374 additions and 102 deletions

9
.obsidian/app.json vendored
View File

@ -5,5 +5,12 @@
"showLineNumber": true, "showLineNumber": true,
"trashOption": "local", "trashOption": "local",
"promptDelete": false, "promptDelete": false,
"alwaysUpdateLinks": true "alwaysUpdateLinks": true,
"pdfExportSettings": {
"includeName": false,
"pageSize": "A4",
"landscape": false,
"margin": "0",
"downscalePercent": 100
}
} }

View File

@ -1,4 +1,6 @@
[ [
"dataview", "dataview",
"templater-obsidian" "templater-obsidian",
"local-gpt",
"ai-providers"
] ]

View File

@ -4,73 +4,20 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "872056d650ad64c5", "id": "8eac3d5be8f374c9",
"type": "split", "type": "tabs",
"children": [ "children": [
{ {
"id": "b7f8453c26dad860", "id": "106754bde9955709",
"type": "tabs", "type": "leaf",
"dimension": 55.5767397521449, "state": {
"children": [ "type": "empty",
{ "state": {},
"id": "35a84624930309b8", "icon": "lucide-file",
"type": "leaf", "title": "新标签页"
"state": { }
"type": "markdown",
"state": {
"file": "01-项目/2025-Obsidian知识架构/项目总结.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": "项目总结"
}
}
]
},
{
"id": "a7ba81908abe065f",
"type": "tabs",
"dimension": 44.4232602478551,
"children": [
{
"id": "a7af372f6707ce4a",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "05-原子化笔记本/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": "MaixCam-触摸屏分辨率"
}
}
]
} }
], ]
"direction": "horizontal"
} }
], ],
"direction": "vertical" "direction": "vertical"
@ -102,7 +49,7 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "", "query": "模块",
"matchingCase": true, "matchingCase": true,
"explainSearch": false, "explainSearch": false,
"collapseAll": false, "collapseAll": false,
@ -127,7 +74,7 @@
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 300 "width": 367.5
}, },
"right": { "right": {
"id": "bcd5a1ddf3bf1e55", "id": "bcd5a1ddf3bf1e55",
@ -249,44 +196,44 @@
"zk-prefixer:创建时间戳笔记": false "zk-prefixer:创建时间戳笔记": false
} }
}, },
"active": "35a84624930309b8", "active": "106754bde9955709",
"lastOpenFiles": [ "lastOpenFiles": [
"01-项目/2025-Obsidian知识架构/项目配置.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-新知识融合/项目配置.md",
"01-项目/2026-新知识融合",
"01-项目/2025-MaixCam竞赛版/项目Bug清单.md",
"01-项目/2025-MaixCam竞赛版/项目需求.md", "01-项目/2025-MaixCam竞赛版/项目需求.md",
"01-项目/2025-MaixCam竞赛版/项目配置.md", "01-项目/2025-MaixCam竞赛版/项目配置.md",
"02-领域/MaixCam/领域知识地图.md",
"01-项目/2025-MaixCam竞赛版/项目Bug清单.md",
"05-原子化笔记本/MaixCam-自定义开机启动画面.md",
"templates/模板-原子化笔记.md",
"05-原子化笔记本/MaixCam-触摸屏分辨率.md",
"00-临时碎片文件夹/20251231-备忘-MaixCam修改开机启动画面logo.md",
"快速检索.md",
"00-临时碎片文件夹/251231-Bug-MaixCam竞赛版-直线算法功能缺陷.md",
"templates/模板-学习笔记.md",
"02-领域/DataView/领域知识地图.md",
"02-领域/MaixCam",
"02-领域/MaixPy/领域知识地图.md",
"未命名.md",
"02-领域/知识架构/领域知识地图.md", "02-领域/知识架构/领域知识地图.md",
"01-项目/2025-MaixCam竞赛版/项目总结.md", "01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md",
"00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-开机Logo更换.md", "01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md",
"00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-程序控制-检测框配置.md", "01-项目/2025-MaixCam竞赛版-程序控制/项目Bug清单.md",
"00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-参数调试-检测框配置.md", "01-项目/2025-MaixCam竞赛版-程序控制/项目总结.md",
"00-临时碎片文件夹/灵感-知识架构-目录配置.md", "01-项目/2025-MaixCam竞赛版-程序控制/项目需求.md",
"05-原子化笔记本/DataView-文件夹下”需求“开头的文件.md", "01-项目/2025-MaixCam竞赛版-程序控制/项目配置.md",
"05-原子化笔记本/知识架构-目录配置.md", "01-项目/2025-Obsidian知识架构/项目总结.md",
"05-原子化笔记本/知识架构-标签配置.md", "01-项目/2025-Obsidian知识架构/项目Bug清单.md",
"templates/模板-需求.md", "01-项目/2025-Obsidian知识架构/项目需求.md",
"接口文档-用户数据查询.md", "01-项目/2025-Obsidian知识架构/项目配置.md",
"02-领域/DataView/领域知识地图.md",
"attachments/Pasted image 20251231090751.png", "attachments/Pasted image 20251231090751.png",
"attachments", "01-项目/2025-MaixCam竞赛版-程序控制",
"01-项目/2025-MaixCam竞赛版/需求子文件", "快速检索.md.baiduyun.uploading.cfg",
"02-领域/DataView", "templates/模板-需求.md.baiduyun.uploading.cfg",
"01-项目/2025-MaixCam竞赛版", "templates/模板-开发任务.md.baiduyun.uploading.cfg",
"02-领域/OpenCV", "templates/模板-学习笔记.md.baiduyun.uploading.cfg",
"02-领域/MaixPy", "templates/模板-原子化笔记.md.baiduyun.uploading.cfg",
"01-项目/2025-MaixCam竞赛版", "templates/模板-信息记录.md.baiduyun.uploading.cfg",
"02-领域/知识架构", "templates/模板-Bug修复.md.baiduyun.uploading.cfg"
"01-项目/2025-Obsidian知识架构"
] ]
} }

View File

@ -0,0 +1,105 @@
# 参数调试文档
---
## 一、基本说明
- **版本号**`v1.0.6`
- **用途**:用于测试视觉算法运行参数,包括分辨率、帧率、缩放比例、颜色空间采样及检测框显示等。
- **适用算法**OCR、色块、AprilTag、line
---
## 二、菜单项配置说明
### 1. 设置分辨率
支持以下预设分辨率选项:
```
(240, 240)
(320, 240)
(320, 320)
(416, 416)
(448, 448)
(552, 368)
(640, 480)
(640, 640)
(1024, 720)
(1104, 736)
(1280, 720)
(1656, 1096)
(1920, 1080)
(2560, 1440)
```
> 💡 高分辨率提升精度但会增加计算负载。
---
### 2. 设置FPS
提供以下帧率选项:
- `30 FPS` —— 平衡性能与流畅度
- `60 FPS` —— 高流畅度,适用于高速运动场景
---
### 3. 设置缩放比例
支持从 **100% 到 195%**,以 **5% 为步长**递增:
```
100%, 105%, 110%, ..., 190%, 195%
```
---
### 4. 设置LAB
- 支持采集**三个点**的 LAB 颜色值。
- 程序自动根据采集点计算并显示 **LAB 范围**
- 各通道含义:
- `L`亮度Lightness
- `A`:红绿轴(负值偏绿,正值偏红)
- `B`:蓝黄轴(负值偏蓝,正值偏黄)
> 🎯 适用于“色块”等基于颜色阈值的检测算法,快速设定颜色过滤区间。
---
### 5. 设置检测框
控制检测结果中各信息字段的显示开关:
| 字段 | 含义 |
| ---- | -------------------------- |
| `i` | 检测目标序号ID |
| `x` | 目标左上角 x 坐标 |
| `y` | 目标左上角 y 坐标 |
| `w` | 目标宽度 |
| `h` | 目标高度 |
| `v` | 检测值如OCR识别内容、AprilTag码ID等 |
| `r` | 目标旋转角度AprilTag码的旋转角度 |
| `cx` | 目标中心 x 坐标 |
| `cy` | 目标中心 y 坐标 |
> 🧩 适用于“色块”、“AprilTag”等输出矩形框和结构化数据的算法。可按需开启/关闭显示字段,便于调试与展示。
---
### 6. 算法列表
当前支持算法列表
| 算法名称 | 说明 |
| ------------ | ---------------------------- |
| **OCR** | 光学字符识别,提取图像中的文字内容 |
| **色块** | 基于颜色如LAB阈值检测连通区域输出色块位置与属性 |
| **AprilTag** | 检测AprilTag二维码输出ID、位置、姿态等信息 |
| **line** | 测试中... |
---

View File

@ -0,0 +1,71 @@
# 程序控制文档
---
## 一、基本说明
- **版本号**`v3.5.0`
- **适用算法**OCR、色块、AprilTag
---
## 二、支持算法列表
| 算法ID | 名称 | 简介说明 |
| ---- | -------- | ----------------------------- |
| `0` | 空 | 开机默认状态,无算法运行 |
| `1` | OCR | 光学字符识别 |
| `2` | 色块检测 | 默认 LAB 参数为 0需配合 `S` 指令设置颜色范围 |
| `3` | Apriltag | 检测 Apriltag 标签,返回 ID 与旋转角度 |
| `4` | 交叉点 | 测试中功能,尚未稳定 |
---
## 三、控制指令
| 操作 | 指令字符 | 参数格式与说明 | 示例命令 |
| ------------ | ---- | ------------------------------------------------------------------------------------- | ------------------------------ |
| **开启指定算法** | `N` | `<算法ID>`<br>立即切换当前运行算法 | `N2`(启动色块检测) |
| **设置LAB参数** | `S` | `<参数ID>+LMin+LMax+AMin+AMax+BMin+BMax>`<br>用于色块检测的颜色范围LAB色彩空间0~255 | `S1+0+100+30+80+20+70` |
| **设置串口应答模式** | `A` | `<模式>`<br>`-n`:定时上报,间隔 n 毫秒<br>`0`:关闭上报<br>`n>0`仅上报第n个目标后自动切回 `A0` | `A-500`<br>`A0`<br>`A2` |
| **缩放画面比例** | `Z` | `<缩放倍数>`<br>以画面中心为基准缩放。`Z100`=原始尺寸,`Z150`=放大至150% | `Z100`<br>`Z150` |
| **设置分辨率** | `R` | `<分辨率>`<br>格式:`宽x高`,如 `552x368` | `R552x368` |
| **设置检测框显示项** | `D` | `+标识符+状态`<br>标识符: `i`, `x`, `y`, `w`, `h`, `v`, `r`, `cx`, `cy`<br>状态: `1`=显示, `0`=隐藏 | `D+i1+cx1+cy1`<br>`D+i1+x0+y0` |
---
## 四、算法结果返回格式规范
### 基础通用格式适用于色块、OCR等
```
#i{x}y{y}w{w}h{h}v{v}!
```
### 特殊格式 - Apriltag含旋转角度
```
#i{i}x{x}y{y}w{w}h{h}v{v}r{r}!
```
### 字段含义说明
| 字段 | 含义 | 说明 |
| --- | -------- | ----------------------------------------------------------- |
| `i` | 目标序号 | 第几个被检测到的目标(从 `1` 开始递增) |
| `x` | 中心点 X 坐标 | 目标在图像中的横向像素坐标 |
| `y` | 中心点 Y 坐标 | 目标在图像中的纵向像素坐标 |
| `w` | 宽度 | 目标包围框宽度(像素) |
| `h` | 高度 | 目标包围框高度(像素) |
| `v` | 结果值 | 根据算法不同:<br>• Apriltag → 标签 ID<br>• 色块 → LAB 参数组 ID如 S1/S2 |
| `r` | 旋转角度 | 仅Apriltag |
### 示例输出(色块检测)
若检测到三个色块:
```
#i1x100y120w50h50v1!
#i2x200y80w60h60v1!
#i3x300y200w55h55v1!
```
### 📌 对于多个结果,优先以 y 升序排序,其次以 x 升序排序
---

View File

@ -0,0 +1,67 @@
# 魔搭环境配置
## 核心信息
- 高带宽机器推荐命令行下载,支持断电断续和高速下载
## 环境安装
```bash
pip install modelscope
```
## 模型下载
### 命令行下载(推荐)
```bash
modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir ./model-dir
```
### SDK 下载
```python
from modelscope import snapshot_download model_dir = snapshot_download("Qwen/Qwen2.5-0.5B-Instruct")
```
### Git LFS 下载
```bash
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct.git
```
## 模型加载
### AutoModel
ModelScope 支持原生 pipeline 推理同时也兼容了由TransformersDiffusers等提供的AutoModel和Pipeline的加载
```bash
pip install transformers
```
```python
from modelscope import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen2.5-0.5B-Instruct"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
```
### 使用 ModelScope pipeline 加载模型
```python
from modelscope.pipelines import pipeline
word_segmentation = pipeline('word-segmentation',model='damo/nlp_structbert_word-segmentation_chinese-base')
```
## 模型推理
```python
from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks inference_pipeline = pipeline( task=Tasks.auto_speech_recognition, model='iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch', model_revision="v2.0.4") rec_result = inference_pipeline('https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_vad_punc_example.wav') print(rec_result)
```

View File

@ -0,0 +1,12 @@
## 待看清单
- 新闻女王
- 搜神记
- 宫心计
- 傲娇与章经
- 重启人生
- 半泽直树
- 法律至上
- 灵魂摆渡
- 唐朝诡事录
- 潜伏

View File

@ -2,3 +2,8 @@
- [[MaixCam-触摸屏分辨率]] - [[MaixCam-触摸屏分辨率]]
- [[MaixCam-自定义开机启动画面]] - [[MaixCam-自定义开机启动画面]]
## 图像相关
- [[MaixCam-RGB转LAB]]

View File

@ -0,0 +1,56 @@
#领域/MaixCam
## 核心定义
maix.v1 支持将 rbg 元组转 lab 元组
## 最小实现代码
```python
from maix.v1 import image as v1_image
def rgb_to_lab(rgb_tuple):
...
return (l,a,b)
...
rgb = (r, g, b)
l, a, b = v1_image.rgb_to_lab(rgb)
```
## 样例程序
```python
#!/usr/bin/env python
from maix.v1 import lcd, image
from maix import time
from maix import image as maix_img
lcd.init()
img = image.Image("/maixapp/share/icon/maixvision.png")
print('invert format to grayscale')
img.to_grayscale()
lcd.display(img)
time.sleep(1)
print('invert format to rgb888')
img.to_rgb888()
lcd.display(img)
time.sleep(1)
rgb=(100,200,30)
lab=image.rgb_to_lab(rgb)
print('rgb to lab, res:', lab)
rgb=image.lab_to_rgb(lab)
print('lab to rgb, res:', rgb)
rgb=(10,20,30)
gray=image.rgb_to_grayscale(rgb)
print('rgb to gray, res:', gray)
rgb=image.grayscale_to_rgb(gray)
print('gray to rgb, res:', rgb)
while True:
    time.sleep(1)
```