From a22379387a989517192818d7f9211e58bb81f30c Mon Sep 17 00:00:00 2001
From: weidongfeng <2629144335@qq.com>
Date: Sat, 15 Mar 2025 14:15:33 +0000
Subject: [PATCH 1/2] =?UTF-8?q?!40=20=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=9C=B0=E5=9D=80=20*=20=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=93=BE=E6=8E=A5=E5=9C=B0=E5=9D=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
example/vision/classification/README.md | 2 +-
example/vision/detetcion/README.md | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/example/vision/classification/README.md b/example/vision/classification/README.md
index 554f019..5ee660b 100644
--- a/example/vision/classification/README.md
+++ b/example/vision/classification/README.md
@@ -135,7 +135,7 @@ AI Studio 是基于百度深度学习开源平台飞桨的人工智能学习与
### 3.4 Fork 项目
-进入 [【PaddleX】在凌智 AI 视觉模块上部署 PaddleClas 模型](https://aistudio.baidu.com/projectdetail/8285578?sUid=790375&shared=1&ts=1725690007105) 项目,点击右上角的 **Fork** 图标来创建自己的项目,如下图:
+进入 [【PaddleX】在凌智 AI 视觉模块上部署 PaddleClas 模型](https://aistudio.baidu.com/projectdetail/8892746) 项目,点击右上角的 **Fork** 图标来创建自己的项目,如下图:

diff --git a/example/vision/detetcion/README.md b/example/vision/detetcion/README.md
index d9aa648..07c07d7 100644
--- a/example/vision/detetcion/README.md
+++ b/example/vision/detetcion/README.md
@@ -175,7 +175,7 @@ AI Studio 是基于百度深度学习开源平台飞桨的人工智能学习与
### 3.4 Fork 项目
-进入 [在凌智视觉模块上部署 PaddleDetection 模型](https://aistudio.baidu.com/projectdetail/8235625) 项目,点击右上角的 **Fork** 图标来创建自己的项目,如下图:
+进入 [在凌智视觉模块上部署 PaddleDetection 模型](https://aistudio.baidu.com/projectdetail/8892748) 项目,点击右上角的 **Fork** 图标来创建自己的项目,如下图:

--
Gitee
From 2b745f93d79ca2d4dc77d81b13130622b533eaa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=98=AF=E5=B0=8F=E6=9E=97=E5=91=80?=
<9473405+linzhenghan@user.noreply.gitee.com>
Date: Tue, 18 Mar 2025 02:38:31 +0000
Subject: [PATCH 2/2] =?UTF-8?q?!41=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C?=
=?UTF-8?q?=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3?=
=?UTF-8?q?=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87?=
=?UTF-8?q?=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C?=
=?UTF-8?q?=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3?=
=?UTF-8?q?=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87?=
=?UTF-8?q?=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84=E4=BA=86?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=20=E5=AE=8C=E5=96=84?=
=?UTF-8?q?=E4=BA=86=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3=20*=201=20*=201?=
=?UTF-8?q?=20*=201=20*=201=20*=201?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/models/retinaface.md | 6 +-
example/patrol_line/README.md | 37 ++++
example/patrol_line/cpp/CMakeLists.txt | 19 ++
example/patrol_line/cpp/README.md | 172 ++++++++++++++++++
.../patrol_line/cpp/images/build_result.png | Bin 0 -> 274124 bytes
example/patrol_line/cpp/images/result.png | Bin 0 -> 288721 bytes
example/patrol_line/cpp/images/stfp.png | Bin 0 -> 104940 bytes
example/patrol_line/cpp/main.cc | 84 +++++++++
8 files changed, 314 insertions(+), 4 deletions(-)
create mode 100644 example/patrol_line/README.md
create mode 100644 example/patrol_line/cpp/CMakeLists.txt
create mode 100644 example/patrol_line/cpp/README.md
create mode 100644 example/patrol_line/cpp/images/build_result.png
create mode 100644 example/patrol_line/cpp/images/result.png
create mode 100644 example/patrol_line/cpp/images/stfp.png
create mode 100644 example/patrol_line/cpp/main.cc
diff --git a/docs/models/retinaface.md b/docs/models/retinaface.md
index 6e95e84..c6815c1 100644
--- a/docs/models/retinaface.md
+++ b/docs/models/retinaface.md
@@ -1,10 +1,9 @@
-```bash
cd /path/to/LockzhinerVisionModule
rm LZ-Retainface*
wget https://gitee.com/LockzhinerAI/LockzhinerVisionModule/releases/download/v0.0.3/LZ-Retainface-2024-1121-1436.onnx
mv LZ-Retainface-2024-1121-1436.onnx LZ-RetinaFace.onnx
-
+
rm test.jpg
# 下载不了去 https://github.com/airockchip/rknn_model_zoo/blob/main/examples/RetinaFace/model/test.jpg 下载
wget -O test.jpg https://s21.ax1x.com/2024/11/07/pAyN4VU.jpg
@@ -18,5 +17,4 @@ python utils/export.py \
--config_path=./configs/LZ-RetinaFace.yaml \
--model_load_path=./LZ-RetinaFace.onnx \
--model_save_path=./LZ-RetinaFace.rknn \
- --target_platform=RV1106
-```
\ No newline at end of file
+ --target_platform=RV1106
\ No newline at end of file
diff --git a/example/patrol_line/README.md b/example/patrol_line/README.md
new file mode 100644
index 0000000..1a4a394
--- /dev/null
+++ b/example/patrol_line/README.md
@@ -0,0 +1,37 @@
+
凌智视觉模块视觉巡线部署指南
+
+发布版本:V0.0.0
+
+日期:2025-03-17
+
+文件密级:□绝密 □秘密 □内部资料 ■公开
+
+---
+
+**免责声明**
+
+本文档按**现状**提供,福州凌睿智捷电子有限公司(以下简称**本公司**)不对本文档中的任何陈述、信息和内容的准确性、可靠性、完整性、适销性、适用性及非侵权性提供任何明示或暗示的声明或保证。本文档仅作为使用指导的参考。
+
+由于产品版本升级或其他原因,本文档可能在未经任何通知的情况下不定期更新或修改。
+
+**读者对象**
+
+本教程适用于以下工程师:
+
+- 技术支持工程师
+- 软件开发工程师
+
+**修订记录**
+
+| **日期** | **版本** | **作者** | **修改说明** |
+|:-----------| -------- |--------| ------------ |
+| 2025/03/17 | 0.0.0 | 林铮汉 | 初始版本 |
+
+## 1 简介
+
+在小车控制中,巡线是最常见的基本功能,在本次任务中使用 OpenCV 进行巡线任务。
+
+## 2 在凌智视觉模块上部署巡线任务
+
+
+- [凌智视觉巡线 Cpp 部署指南](./cpp)
\ No newline at end of file
diff --git a/example/patrol_line/cpp/CMakeLists.txt b/example/patrol_line/cpp/CMakeLists.txt
new file mode 100644
index 0000000..79c7ed9
--- /dev/null
+++ b/example/patrol_line/cpp/CMakeLists.txt
@@ -0,0 +1,19 @@
+project(test_edit)
+
+set(TARGET_INSTALL_DIR "bin/edit")
+
+set(TARGET_LIST "")
+add_executable(Test-Capture test_capture.cc)
+list(APPEND TARGET_LIST Test-Capture)
+
+add_executable(Test-FPS test_fps.cc)
+list(APPEND TARGET_LIST Test-FPS)
+
+# link and include
+foreach(test_project ${TARGET_LIST})
+ target_link_libraries(${test_project} PRIVATE ${CMAKE_PROJECT_NAME})
+endforeach()
+
+# install
+install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${TARGET_INSTALL_DIR})
+install(TARGETS ${TARGET_LIST} DESTINATION ${TARGET_INSTALL_DIR})
\ No newline at end of file
diff --git a/example/patrol_line/cpp/README.md b/example/patrol_line/cpp/README.md
new file mode 100644
index 0000000..25b5dad
--- /dev/null
+++ b/example/patrol_line/cpp/README.md
@@ -0,0 +1,172 @@
+凌智视觉模块视觉巡线部署指南 Cpp 部署指南
+
+发布版本:V0.0.0
+
+日期:2025-03-18
+
+文件密级:□绝密 □秘密 □内部资料 ■公开
+
+---
+
+**免责声明**
+
+本文档按**现状**提供,福州凌睿智捷电子有限公司(以下简称**本公司**)不对本文档中的任何陈述、信息和内容的准确性、可靠性、完整性、适销性、适用性及非侵权性提供任何明示或暗示的声明或保证。本文档仅作为使用指导的参考。
+
+由于产品版本升级或其他原因,本文档可能在未经任何通知的情况下不定期更新或修改。
+
+**读者对象**
+
+本教程适用于以下工程师:
+
+- 技术支持工程师
+- 软件开发工程师
+
+**修订记录**
+
+| **日期** | **版本** | **作者** | **修改说明** |
+|:-----------| -------- |--------| ------------ |
+| 2025/03/17 | 0.0.0 | 林铮汉 | 初始版本 |
+
+## 1 简介
+
+接下来让我们基于 Cpp 来部署视觉巡线案例,在开始本章节前:
+
+- 你已经按照 [开发环境搭建指南](../../../docs/introductory_tutorial/development_environment.md) 正确配置了开发环境。
+- 点击 [凌智视觉模块图片传输助手下载地址](https://gitee.com/LockzhinerAI/LockzhinerVisionModule/releases/download/v0.0.0/LockzhinerVisionModuleImageFetcher_v0.0.0.exe) 下载凌智视觉模块图片传输助手。
+
+## 2 Cpp API 文档
+凌智视觉模块使用 opencv-mobile 来读取摄像头数据。关于摄像头读取,请参考传统的 OpenCV 摄像头 API 来实现,需要注意的是:
+
+- 受限于运行内存,请使用我们编译的 [OpenCV Mobile](https://gitee.com/LockzhinerAI/opencv-mobile) 库来代替传统的 OpenCV 库
+- LockzhinerVisionModule 只有一个摄像头,因此在打开摄像头时,不管输入什么参数,都只会打开这个摄像头
+- 配置摄像头长宽时,请保证长和宽都是 8 的倍数
+- 在本次项目中使用的 OpenCV 函数完全适配标准 OpenCv 函数,相关 API 参考标准 OpenCV 函数接口。
+
+## 3 项目介绍
+
+在本案例中,使用黑线作为实例,可通过更改色彩掩膜来识别不同颜色的线。
+
+```Cpp
+#include
+#include
+#include
+#include
+#include
+#include
+
+int main(int argc, char *argv[]) {
+ // 设置默认摄像头分辨率
+ int width = 640;
+ int height = 480;
+
+ // 如果命令行参数提供了宽度和高度,则使用它们
+ if (argc == 3) {
+ width = std::stoi(argv[1]);
+ height = std::stoi(argv[2]);
+ }
+
+ // 初始化编辑模块并尝试连接设备
+ lockzhiner_vision_module::edit::Edit edit;
+ if (!edit.StartAndAcceptConnection()) {
+ std::cerr << "Error: Failed to start and accept connection." << std::endl;
+ return EXIT_FAILURE;
+ }
+ std::cout << "Device connected successfully." << std::endl;
+
+ cv::VideoCapture cap;
+ cap.set(cv::CAP_PROP_FRAME_WIDTH, width);
+ cap.set(cv::CAP_PROP_FRAME_HEIGHT, height);
+ cap.open(0);
+
+ // 获取实际的帧尺寸
+ double frameWidth = cap.get(cv::CAP_PROP_FRAME_WIDTH);
+ double frameHeight = cap.get(cv::CAP_PROP_FRAME_HEIGHT);
+ std::cout << "Frame size: " << frameWidth << "x" << frameHeight << std::endl;
+
+ // 定义ROI区域
+ cv::Rect roi_rect(40, 300, 560, 180);
+
+ while (true) {
+ cv::Mat temp_mat;
+ cap >> temp_mat; // 获取新的一帧
+ if (temp_mat.empty()) {
+ std::cerr << "Warning: Couldn't read a frame from the camera." << std::endl;
+ continue;
+ }
+
+ // 提取ROI区域,并转换到HSV色彩空间
+ cv::Mat roi_image = temp_mat(roi_rect);
+ cv::cvtColor(roi_image, roi_image, cv::COLOR_BGR2HSV); // 注意原代码中是RGB2HSV,应改为BGR2HSV
+
+ // 创建黑白掩膜
+ cv::Scalar lower_black(0, 0, 0);
+ cv::Scalar upper_black(180, 100, 60);
+ cv::Mat mask;
+ cv::inRange(roi_image, lower_black, upper_black, mask);
+
+ // 应用掩膜
+ cv::Mat res;
+ cv::bitwise_and(roi_image, roi_image, res, mask);
+
+ // 计算图像矩并找到质心
+ cv::Moments m = cv::moments(mask, false);
+ double cx = m.m10 / (m.m00 + 1e-6); // 防止除以零
+ double cy = m.m01 / (m.m00 + 1e-6);
+
+ // 在原始图像上绘制ROI边框和质心位置
+ cv::rectangle(temp_mat, roi_rect, cv::Scalar(255, 0, 0), 2); // 绘制ROI边框
+ cv::circle(temp_mat, cv::Point(static_cast(cx + roi_rect.x), static_cast(cy + roi_rect.y)), 5, cv::Scalar(0, 255, 0), -1); // 绿色圆点表示质心位置
+
+ // 输出质心的X坐标
+ std::cout << "Centroid X: " << cx + roi_rect.x << std::endl;
+
+ // 将当前帧发送到编辑模块打印
+ if (!edit.Print(temp_mat)) {
+ std::cerr << "Error: Failed to print to edit module." << std::endl;
+ break;
+ }
+ }
+ return EXIT_SUCCESS;
+}
+
+
+```
+## 4 编译项目
+在本次项目中为使编译更为简单,可将上文中的 Cpp 代码直接替换进 /LockzhinerVisionModuleWorkSpace/LockzhinerVisionModuleLibrary/example/edit/test_capture.cc 中。
+后通过下述指令编译整个工程:
+```bash
+cd /LockzhinerVisionModuleWorkSpace/LockzhinerVisionModuleLibrary
+rm -rf build && mkdir build && cd build
+export TOOLCHAIN_ROOT_PATH=${PWD}/../../arm-rockchip830-linux-uclibcgnueabihf
+cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_TESTS=ON \
+ -DCMAKE_INSTALL_PREFIX=${PWD}/lockzhiner_vision_module_sdk \
+ ..
+make -j8 && make install
+zip -r -9 lockzhiner_vision_module_sdk.zip lockzhiner_vision_module_sdk
+```
+编译后如下图所示:
+
+编译完成后在/LockzhinerVisionModuleWorkSpace/LockzhinerVisionModuleLibrary/build/lockzhiner_vision_module_sdk/bin/edit中所生成的Test-Capture可执行文件即为所需文件。
+## 4 上传并测试
+
+参考 [连接设备指南](../../../../docs/introductory_tutorial/connect_device_using_ssh.md) 正确连接 Lockzhiner Vision Module 设备。
+先将编译文件从 Docker 中下载到本地。
+
+请使用 Electerm Sftp 上传以下一个文件:
+
+- 进入存放 **Test-Capture** 可执行文件的目录,将 **Test-Capture** 上传到 Lockzhiner Vision Module
+
+
+
+请使用 Electerm Ssh 并在命令行中执行以下命令:
+
+```bash
+chmod 777 Test-Capture
+./Test-Capture
+```
+
+运行程序后,使用凌智视觉模块图片传输助手连接设备,屏幕上开始打印识别黑线的质心 X 轴坐标,凌智视觉模块图片传输助手出现可视化的结果
+
+
diff --git a/example/patrol_line/cpp/images/build_result.png b/example/patrol_line/cpp/images/build_result.png
new file mode 100644
index 0000000000000000000000000000000000000000..da357e11cf4705175849df152839473cfd690257
GIT binary patch
literal 274124
zcmYJaWmHsc*uOnPHw+Bj&Cp!}LwAF8N(xE|(#+7^NOz+mC@2UBLkcKef^?&_!~nza
zazD@WU+<^A*4}G>+3Py5>pYI%xf2cbHHZo52mk;8v6iN)F#v!I2LQ0h@NgdQVDhWe
zJYImWj5U-2AI2FD000(%ma39zklmpzZVsi|JlZw?Cl-w#NmO}MzM=V4z?`iXud8hU
zC8j!pfsC3`EhQnJqJ6hHiLF*58Q4-8l~lf6>>8&f{O{rE{p~mXxu
z*aZa4HQudsJe6_*liZdw5nnk29LmgZn)+Cdybf!5SCSOGuN@!8AC8WNF=^`qQ`XRJ
zm-d|j^2-lqMU8&HDMCIK~c&H|4%L^P1#*dvq7ht08lUiLNMGytvHd
zY!S@M%ge}z&o{+qgj?~g83x+qDz`&vQYTpcr*-jC1*XQ
s+O48Isz^ehkA
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 |