diff --git a/component/例十.png b/component/例十.png new file mode 100644 index 0000000..0111634 Binary files /dev/null and b/component/例十.png differ diff --git a/component/例十一.png b/component/例十一.png new file mode 100644 index 0000000..ec14b52 Binary files /dev/null and b/component/例十一.png differ diff --git a/教程内容.md b/教程内容.md index 1dc9e67..f8bbd53 100644 --- a/教程内容.md +++ b/教程内容.md @@ -1,5 +1,7 @@ # MindVison 摄像头使用简述 -如需访问官方请点击此处 --> [***MindVision***](https://www.mindvision.com.cn/) +**前言:** +如需访问官方请点击此处 --> [***MindVision***](https://www.mindvision.com.cn/) +对于摄像头的使用,我们只要学会如何调用以及如何配置相关相机参数就足够了,其余的部分可以不用了解。倘若你感兴趣也可深入细细品尝! ## 目录 - [第一章 MindVision-SDK安装教程](#第一章-mindvision-sdk安装教程) @@ -61,8 +63,7 @@ sudo ./install.sh ## 第二章 MindVision-开发与利用 ### 第零节 环境的搭配 -为了方便链接MDVS的CameraApi.h需要能跳转定义的配置,请下载插件[C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)。**如果你环境OK,就[开始demo吧](#第一节-demo的运行-浅浅上手)** - +为了方便链接MDVS的CameraApi.h需要能跳转定义的配置,请下载插件[C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)。**如果你环境OK,就[开始demo吧](#第一节-demo的运行-浅浅上手)** 在vscode快捷键`Ctrl+Shift+P`,找到 `C/C++:编译配置(UI)`,之后点击进入。将**C版本与C++版本调为11**。以及对于包含路径,加一句`/usr/include/opencv4`。之后你会看到左侧目录多了一个.vscode的,其下有c_cpp_properties.json。 --- @@ -87,8 +88,7 @@ sudo ./install.sh ![图九](component/例九.png) -有关所有的错误抛出定义请阅读`CameraStatus.h`. - +有关所有的错误抛出定义请阅读`CameraStatus.h`. 下面将简单分析代码作用,对于相机驱动函数的参数请自行阅读`CameraApi.h`. ```cpp CameraSdkInit(1); // 相机接口初始化函数 @@ -120,9 +120,8 @@ MVSDK_API CameraSdkStatus CameraReConnect( CameraHandle hCamera ); ``` -**关键**:对于每次获取画面之后,记得清理调用`CameraGetImageBuffer`缓冲区。具体细节请参阅`CameraGetImageBuffer`函数说明!!! - -对于正常的工况,MindVisionApi给我们提供了摄像头重连、状态检测等等的函数接口,我们直接调用就可以用最为简洁的代码提高摄像头连接的抗干扰能力!!!! +**关键**:对于每次获取画面之后,记得清理调用`CameraGetImageBuffer`缓冲区。具体细节请参阅`CameraGetImageBuffer`函数说明!!! +对于正常的工况,MindVisionApi给我们提供了摄像头重连、状态检测等等的函数接口,我们直接调用就可以用最为简洁的代码提高摄像头连接的抗干扰能力!!!! ## 第三节 对于一些关键接口的列表 | 函数名 | 作用 | @@ -140,7 +139,7 @@ MVSDK_API CameraSdkStatus CameraReConnect( ### 1.对于Linux下官方程序的编译与应用(GTK-demo / QT-demo) ***前言*** : 考虑到队员们的系统都为Windows,虚拟机与MindVision摄像头连接不畅,不考虑安装官方Linux的驱动程序,对于镜头参数的调节,我的观点是在Windows的驱动程序[MVDCP2](https://www.mindvision.com.cn/wp-content/uploads/2026/04/MindVision-Camera-Platform-Setup2.1.10.195_202604021438.exe)上进行图像调节,再将对应参数修改,考虑到NUC为Linux,赛场调试可能需要,故对此部分进行说明。 -#### GTK_Demo 版本 +#### 1.1 GTK_Demo 版本 首先安装GTK库 ```bash @@ -154,13 +153,66 @@ make clean make ./Gtk_Demo // 开始运行 ``` +`make clean`可能会报如下错误 +![图十](component/例十.png) +**原因:**源码包里的 Makefile 是在另一个环境下生成的,与你的系统不匹配,导致 .deps/ 目录缺失。 +```bash +# 1. 清理旧的生成文件 +make distclean 2>/dev/null || true +rm -rf autom4te.cache .deps Makefile Makefile.in config.status config.log + +# 2. 重新生成 configure 脚本和 Makefile.in +autoreconf -fi + +# 3. 配置 +./configure + +# 4. 编译 +make + +# 5.运行demo +./GTK_demo +``` +如果还会报如下问题,就是你的 ***摄像头没有连接*** 以及你没有将 ***USB3.0*** 配置好。 +```text +// GTK 音频模块,不影响相机功能,只是没有系统提示音。这个错误可以忽略。 +Gtk-Message: Failed to load module "canberra-gtk-module" + +// CXP(CoaXPress)接口 的驱动文件。这个错误可以忽略。 +CtiPath: /usr/lib/fg_cxp.cti is error or system not find +CXP system count:0 + +// 相机连接失败,最终检测到 0 个相机。 +DetectMSDevice...................... +MSCamera Begin link........................ +user control fd open failed +BackWorkerStop +begin destory msdevice +end destory msdevice +End DetectMSDevice +iCameraCounts =0 +``` +解决上述问题之后运行`./GTK_demo`要选择第几个相机,默认按0开始,输入***0 回车 打开第一个相机*** +#### 1.2 QT-demo 版本 +首先安装***QT5基础安装包***(QT4版本的demo就不用了) +```bash +sudo apt update +sudo apt install build-essential qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools +sudo apt install qtcreator + +// 进入Qt +qtcreator & +``` +之后在QT里面选择打开QT5_demo里面的`.pro`文件,之后在确保摄像头连接的情况下点击**Run**. +![图十一](component/例十一.png) ### 2.虚拟机帧率不高的问题 在虚拟机中默认的接口为***USB2.0***,MindVision摄像头**高帧率**需使用**USB3.0**及以上。 ![图八](component/例八.png) -修改后记得重启虚拟机。 +修改后记得重启虚拟机。 + ............... 未完待续