From 8e34dfac2e87009a29de9ba673ed2f563b492993 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BF=83=E5=B9=B3=E6=B0=94=E5=92=8C?= <2394609457@qq.com>
Date: Sun, 4 Jan 2026 17:28:12 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=EF=BC=9AMaixCam=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E4=B8=AD=E2=80=9D=E5=8F=82=E6=95=B0=E8=B0=83=E8=AF=95?=
=?UTF-8?q?=E2=80=9C=E5=92=8C=E2=80=9D=E7=A8=8B=E5=BA=8F=E6=8E=A7=E5=88=B6?=
=?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.obsidian/app.json | 9 +-
.obsidian/community-plugins.json | 4 +-
.obsidian/workspace.json | 147 ++++++------------
.../模块-参数调试-文档说明.md | 105 +++++++++++++
.../模块-程序控制-文档说明.md | 71 +++++++++
.../项目总结.md => 2026-人工智能/项目Bug清单.md} | 0
01-项目/2026-人工智能/项目总结.md | 0
01-项目/2026-人工智能/项目配置.md | 67 ++++++++
01-项目/2026-人工智能/项目需求.md | 0
01-项目/2026-新知识融合/模块-多媒体-清单.md | 12 ++
01-项目/2026-新知识融合/项目Bug清单.md | 0
01-项目/2026-新知识融合/项目总结.md | 0
01-项目/2026-新知识融合/项目配置.md | 0
01-项目/2026-新知识融合/项目需求.md | 0
02-领域/MaixCam/领域知识地图.md | 5 +
05-原子化笔记本/MaixCam-RGB转LAB.md | 56 +++++++
16 files changed, 374 insertions(+), 102 deletions(-)
create mode 100644 01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md
create mode 100644 01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md
rename 01-项目/{2025-MaixCam竞赛版/项目总结.md => 2026-人工智能/项目Bug清单.md} (100%)
create mode 100644 01-项目/2026-人工智能/项目总结.md
create mode 100644 01-项目/2026-人工智能/项目配置.md
create mode 100644 01-项目/2026-人工智能/项目需求.md
create mode 100644 01-项目/2026-新知识融合/模块-多媒体-清单.md
create mode 100644 01-项目/2026-新知识融合/项目Bug清单.md
create mode 100644 01-项目/2026-新知识融合/项目总结.md
create mode 100644 01-项目/2026-新知识融合/项目配置.md
create mode 100644 01-项目/2026-新知识融合/项目需求.md
create mode 100644 05-原子化笔记本/MaixCam-RGB转LAB.md
diff --git a/.obsidian/app.json b/.obsidian/app.json
index eea95f5..60ec715 100644
--- a/.obsidian/app.json
+++ b/.obsidian/app.json
@@ -5,5 +5,12 @@
"showLineNumber": true,
"trashOption": "local",
"promptDelete": false,
- "alwaysUpdateLinks": true
+ "alwaysUpdateLinks": true,
+ "pdfExportSettings": {
+ "includeName": false,
+ "pageSize": "A4",
+ "landscape": false,
+ "margin": "0",
+ "downscalePercent": 100
+ }
}
\ No newline at end of file
diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json
index c4f8779..044cc56 100644
--- a/.obsidian/community-plugins.json
+++ b/.obsidian/community-plugins.json
@@ -1,4 +1,6 @@
[
"dataview",
- "templater-obsidian"
+ "templater-obsidian",
+ "local-gpt",
+ "ai-providers"
]
\ No newline at end of file
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index 1b080e0..0d7b83b 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -4,73 +4,20 @@
"type": "split",
"children": [
{
- "id": "872056d650ad64c5",
- "type": "split",
+ "id": "8eac3d5be8f374c9",
+ "type": "tabs",
"children": [
{
- "id": "b7f8453c26dad860",
- "type": "tabs",
- "dimension": 55.5767397521449,
- "children": [
- {
- "id": "35a84624930309b8",
- "type": "leaf",
- "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-触摸屏分辨率"
- }
- }
- ]
+ "id": "106754bde9955709",
+ "type": "leaf",
+ "state": {
+ "type": "empty",
+ "state": {},
+ "icon": "lucide-file",
+ "title": "新标签页"
+ }
}
- ],
- "direction": "horizontal"
+ ]
}
],
"direction": "vertical"
@@ -102,7 +49,7 @@
"state": {
"type": "search",
"state": {
- "query": "",
+ "query": "模块",
"matchingCase": true,
"explainSearch": false,
"collapseAll": false,
@@ -127,7 +74,7 @@
}
],
"direction": "horizontal",
- "width": 300
+ "width": 367.5
},
"right": {
"id": "bcd5a1ddf3bf1e55",
@@ -249,44 +196,44 @@
"zk-prefixer:创建时间戳笔记": false
}
},
- "active": "35a84624930309b8",
+ "active": "106754bde9955709",
"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",
- "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",
- "01-项目/2025-MaixCam竞赛版/项目总结.md",
- "00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-开机Logo更换.md",
- "00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-程序控制-检测框配置.md",
- "00-临时碎片文件夹/20251231-需求-MaixCam竞赛版-参数调试-检测框配置.md",
- "00-临时碎片文件夹/灵感-知识架构-目录配置.md",
- "05-原子化笔记本/DataView-文件夹下”需求“开头的文件.md",
- "05-原子化笔记本/知识架构-目录配置.md",
- "05-原子化笔记本/知识架构-标签配置.md",
- "templates/模板-需求.md",
- "接口文档-用户数据查询.md",
+ "01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md",
+ "01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.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",
+ "01-项目/2025-Obsidian知识架构/项目需求.md",
+ "01-项目/2025-Obsidian知识架构/项目配置.md",
+ "02-领域/DataView/领域知识地图.md",
"attachments/Pasted image 20251231090751.png",
- "attachments",
- "01-项目/2025-MaixCam竞赛版/需求子文件",
- "02-领域/DataView",
- "01-项目/2025-MaixCam竞赛版",
- "02-领域/OpenCV",
- "02-领域/MaixPy",
- "01-项目/2025-MaixCam竞赛版",
- "02-领域/知识架构",
- "01-项目/2025-Obsidian知识架构"
+ "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/模板-Bug修复.md.baiduyun.uploading.cfg"
]
}
\ No newline at end of file
diff --git a/01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md b/01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md
new file mode 100644
index 0000000..856f3e4
--- /dev/null
+++ b/01-项目/2025-MaixCam竞赛版/模块-参数调试-文档说明.md
@@ -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** | 测试中... |
+
+---
diff --git a/01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md b/01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md
new file mode 100644
index 0000000..1d262e8
--- /dev/null
+++ b/01-项目/2025-MaixCam竞赛版/模块-程序控制-文档说明.md
@@ -0,0 +1,71 @@
+# 程序控制文档
+
+---
+
+## 一、基本说明
+
+- **版本号**:`v3.5.0`
+- **适用算法**:OCR、色块、AprilTag
+
+---
+
+## 二、支持算法列表
+
+| 算法ID | 名称 | 简介说明 |
+| ---- | -------- | ----------------------------- |
+| `0` | 空 | 开机默认状态,无算法运行 |
+| `1` | OCR | 光学字符识别 |
+| `2` | 色块检测 | 默认 LAB 参数为 0,需配合 `S` 指令设置颜色范围 |
+| `3` | Apriltag | 检测 Apriltag 标签,返回 ID 与旋转角度 |
+| `4` | 交叉点 | 测试中功能,尚未稳定 |
+
+---
+
+## 三、控制指令
+
+| 操作 | 指令字符 | 参数格式与说明 | 示例命令 |
+| ------------ | ---- | ------------------------------------------------------------------------------------- | ------------------------------ |
+| **开启指定算法** | `N` | `<算法ID>`
立即切换当前运行算法 | `N2`(启动色块检测) |
+| **设置LAB参数** | `S` | `<参数ID>+LMin+LMax+AMin+AMax+BMin+BMax>`
用于色块检测的颜色范围(LAB色彩空间,0~255) | `S1+0+100+30+80+20+70` |
+| **设置串口应答模式** | `A` | `<模式>`
• `-n`:定时上报,间隔 n 毫秒
• `0`:关闭上报
• `n>0`:仅上报第n个目标后自动切回 `A0` | `A-500`
`A0`
`A2` |
+| **缩放画面比例** | `Z` | `<缩放倍数>`
以画面中心为基准缩放。`Z100`=原始尺寸,`Z150`=放大至150% | `Z100`
`Z150` |
+| **设置分辨率** | `R` | `<分辨率>`
格式:`宽x高`,如 `552x368` | `R552x368` |
+| **设置检测框显示项** | `D` | `+标识符+状态`
标识符: `i`, `x`, `y`, `w`, `h`, `v`, `r`, `cx`, `cy`
状态: `1`=显示, `0`=隐藏 | `D+i1+cx1+cy1`
`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` | 结果值 | 根据算法不同:
• Apriltag → 标签 ID
• 色块 → LAB 参数组 ID(如 S1/S2) |
+| `r` | 旋转角度 | 仅Apriltag |
+
+### 示例输出(色块检测)
+若检测到三个色块:
+```
+#i1x100y120w50h50v1!
+#i2x200y80w60h60v1!
+#i3x300y200w55h55v1!
+```
+
+### 📌 对于多个结果,优先以 y 升序排序,其次以 x 升序排序
+
+---
diff --git a/01-项目/2025-MaixCam竞赛版/项目总结.md b/01-项目/2026-人工智能/项目Bug清单.md
similarity index 100%
rename from 01-项目/2025-MaixCam竞赛版/项目总结.md
rename to 01-项目/2026-人工智能/项目Bug清单.md
diff --git a/01-项目/2026-人工智能/项目总结.md b/01-项目/2026-人工智能/项目总结.md
new file mode 100644
index 0000000..e69de29
diff --git a/01-项目/2026-人工智能/项目配置.md b/01-项目/2026-人工智能/项目配置.md
new file mode 100644
index 0000000..f440745
--- /dev/null
+++ b/01-项目/2026-人工智能/项目配置.md
@@ -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 推理,同时也兼容了由Transformers,Diffusers等提供的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)
+```
\ No newline at end of file
diff --git a/01-项目/2026-人工智能/项目需求.md b/01-项目/2026-人工智能/项目需求.md
new file mode 100644
index 0000000..e69de29
diff --git a/01-项目/2026-新知识融合/模块-多媒体-清单.md b/01-项目/2026-新知识融合/模块-多媒体-清单.md
new file mode 100644
index 0000000..8f316c3
--- /dev/null
+++ b/01-项目/2026-新知识融合/模块-多媒体-清单.md
@@ -0,0 +1,12 @@
+
+## 待看清单
+- 新闻女王
+- 搜神记
+- 宫心计
+- 傲娇与章经
+- 重启人生
+- 半泽直树
+- 法律至上
+- 灵魂摆渡
+- 唐朝诡事录
+- 潜伏
diff --git a/01-项目/2026-新知识融合/项目Bug清单.md b/01-项目/2026-新知识融合/项目Bug清单.md
new file mode 100644
index 0000000..e69de29
diff --git a/01-项目/2026-新知识融合/项目总结.md b/01-项目/2026-新知识融合/项目总结.md
new file mode 100644
index 0000000..e69de29
diff --git a/01-项目/2026-新知识融合/项目配置.md b/01-项目/2026-新知识融合/项目配置.md
new file mode 100644
index 0000000..e69de29
diff --git a/01-项目/2026-新知识融合/项目需求.md b/01-项目/2026-新知识融合/项目需求.md
new file mode 100644
index 0000000..e69de29
diff --git a/02-领域/MaixCam/领域知识地图.md b/02-领域/MaixCam/领域知识地图.md
index c5e251b..a3b4737 100644
--- a/02-领域/MaixCam/领域知识地图.md
+++ b/02-领域/MaixCam/领域知识地图.md
@@ -2,3 +2,8 @@
- [[MaixCam-触摸屏分辨率]]
- [[MaixCam-自定义开机启动画面]]
+
+## 图像相关
+
+- [[MaixCam-RGB转LAB]]
+
diff --git a/05-原子化笔记本/MaixCam-RGB转LAB.md b/05-原子化笔记本/MaixCam-RGB转LAB.md
new file mode 100644
index 0000000..9c73471
--- /dev/null
+++ b/05-原子化笔记本/MaixCam-RGB转LAB.md
@@ -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)
+```