- 博客(141)
- 问答 (174)
- 收藏
- 关注
原创 YOLO的基本思想以及各个版本对比
YOLO(You Only Look Once)是一种实时目标检测模型,输入通常是一个特定尺寸的图像,例如416x416像素。图像通过一个卷积神经网络(CNN)骨干网络处理,提取特征。YOLO是一种实时目标检测算法,自2015年首次发布以来,已发展到第12代。每代版本都在架构、训练方法和性能上进行了改进,适用于从自动驾驶到监控的各种应用。以下是各版本的主要变化概述,适合普通用户理解。C3k2 被描述为 YOLOv11 架构中的一个特定块。根据。
2025-03-28 08:39:32
1063
原创 vscode python相对路径的问题
最近使用使用vscode连接wsl2写python时,经常遇到找不到包中的方法的问题,最终发现vscode在执行python代码时目录不是从当前python文件开始算起,而是从当前工作区的目录开始算起,比如说我打开的是/home/lenovo/code,在我的code目录下有一个py_learn文件夹下有geometry.py main.py 两个文件。这样每次执行py程序就会从当前的py文件的目录开始算起。点击“创建 launch.json 文件”。打开调试面板(Ctrl+Shift+D)。
2025-03-16 00:03:37
453
原创 C++ 中 :: 的各种用法
在类的声明中,只提供成员函数的声明,函数体可以在类外定义。使用类名::成员函数名指定作用域。public:// 仅声明// 在类外定义成员函数obj.show();return 0;用法示例说明全局作用域::value访问全局变量或全局函数类作用域访问类的静态成员或类外定义的成员函数命名空间作用域访问命名空间内的变量或函数嵌套命名空间访问嵌套命名空间的成员强类型枚举访问强类型枚举的枚举值成员函数指针获取类的非静态成员函数指针匿名命名空间::member访问匿名命名空间中的全局成员。
2025-01-11 00:23:49
1610
原创 C++ 函数指针
特性示例定义函数指针使用 typedef 简化函数指针作为参数函数指针数组指向成员函数的函数指针函数指针在回调函数、动态函数选择和策略模式中应用广泛。如果需要扩展到现代 C++,可以使用 std::function和Lambda 表达式替代传统的函数指针。
2025-01-11 00:20:22
622
原创 左值引用(Lvalue Reference)和右值引用(Rvalue Reference)详解
左值是指在程序中有持久存储地址的对象。左值可以被取地址(操作符)。左值可以出现在赋值语句的左侧。int x = 10;// x 是左值,存储在内存中,有地址x = 20;// 可以修改左值左值引用(T&)是绑定到左值的一种引用。它是左值的别名,可以通过引用对原对象进行修改。int x = 10;// 左值// ref 是 x 的引用ref = 20;// 修改 ref 等同于修改 x右值引用(T&&)是绑定到右值的一种引用。它可以延长右值的生命周期,允许在右值上执行操作。
2025-01-10 18:42:30
584
原创 测试resnet18训练的模型效果
测试resnet训练的车道线效果,在地平线的X3派运行,网络输出的是车道线的坐标,将输出的坐标在视频中使用cv2.circle绘制在图像上,看红点是否在车道线上以判断模型的效果是否优秀。注意,模型原始的输出是归一化的结果,需要转换成原始的像素坐标。
2024-06-15 17:49:36
441
原创 搭载昇腾310NPU的Orange Pi AIpro开箱体验以及深度学习样例测试
话不多说先放两张Orange Pi AIpro的全身照,可以看到板子还是很漂亮的。Atlas 200计算模块作为开发板的CPU与NPU。模块集成了Ascend 310处理器,可以高效地高效能低功耗: 昇腾310采用7nm工艺制造,拥有高效的能耗比,能够在提供强大计算能力的同时保持较低的功耗,非常适合嵌入式和边缘计算应用。强大计算能力。
2024-05-27 11:49:40
3211
原创 2024年第15届蓝桥杯嵌入式组注意事项之新建LCD工程
注意LCD的引脚不需要在cubemx中初始化,因为在lcd.c文件中存在已经初始化函数LCD_Init()只需要调用即可。
2024-04-11 21:10:28
624
1
原创 拒绝光照影响,一文教你在地平线旭日派X3上如何使用resnet18搭建自己的深度学习巡线小车
为了测试模型预测黑线的坐标是否准确,所以将模型输出的坐标在原来图像中绘制成原点,可以看到红点绘制在了黑线上说明预测成功,如果场景复杂建议数据集使用大量的不同场景的照片以达到最好的预测结果。如果上面三个脚本都执行成功的话我们将会在当前model_output目录下找到bin文件,这就是可以在X3派上运行的模型文件。这里使用了地平线提供的hobot_dnn库,注意需要将结果反归一化即x和y分别乘图像的宽和高。修改模型的路径,以及转换后模型的名称,归一化的类型等。获取训练的代码请关注这个佬的文章,
2024-03-23 22:15:14
1546
原创 第十五届蓝桥杯嵌入式模拟考试I
前面2次提交时没有注意lcd的行数,看了评测记录才知道又很多的评测都跟lcd有关,如果显示的行数出错那当然是拿不到分的,后面那次提交是因为题目中lcd是从第一行开始的,而我们的lcd 是从Line0开始的,还是会导致lcd差一行,应该庆幸没有直接比赛,而是进行了模拟,经过这次模拟后才发现了,自己有时粗心大意的毛病,大家做题的时候可不要学我,要仔细审题,不要放过任何一个细节。这个状态是为了判断串口是否接收到了数据,如果接收到数据就解析该数据,同时进入状态2,如果没有接收到数据那就继续等待。
2024-03-23 01:35:38
2861
20
原创 蓝桥杯嵌入式历年省赛真题
目前是第六到十二届真题,还剩第十二和第十三届的题目,由于最近一下做了很多套,最后两套等考前复习时做很多套路是固定,使用STM32G431开发板。
2024-02-15 01:42:08
10916
1
原创 蓝桥杯嵌入式第9届真题(完成) STM32G431
Time结构体定义了时间的数据类型,CountdownStatus是一个枚举类型,表示了定时器的三种状态。
2024-02-12 23:06:10
7364
2
原创 蓝桥杯嵌入式第8届真题(完成) STM32G431
对比第六届和第七届,这届的题目在逻辑思维上确实要麻烦不少,可以从题目看出,这届题目对时间顺序的要求很严格,所以就可以使用状态机的思想来编程,拿到类似题目不要急着写代码,一定要先分析好步骤,想出状态转换的逻辑后,在根据逻辑写代码写起来就很快了。
2024-02-06 20:18:29
3843
12
原创 一文教你地平线旭日派X3部署yolov5从训练-->转模型-->部署
近日拿到了地平线的旭日派X3,官方说是支持等效5tops的AI算力,迫不及待的想在上面跑一个yolov5的模型,可谓是遇到了不少坑,好在皇天不负有心人,终于在手册和社区各个大佬的帮助下,终于在板子上推理成功,本文会从训练、模型转换、到部署到旭日派详细说明。之后就可以运行train.py文件开始训练,模型保存在根目录下的runs文件夹下的exp文件夹下的weight文件夹,也可以查看训练的收敛情况图片。例如我选择的是yolov5s,修改yolov5s.yaml中的nc为自己的标签个数。
2024-02-04 00:42:41
6661
19
原创 在ubuntu虚拟机中安装ros2-foxy
为了配合旭日派X3的ros2-foxy系统,担心之前安装的humble系统与foxy不兼容,于是重新开了一个Ubuntu20.04的虚拟机环境是ubuntu20.04 使用阿里源。
2024-02-02 16:14:42
1061
原创 蓝桥杯嵌入式第七届真题(完成) STM32G431
adc_process 中1s读取一次使用1ms进入一次SysTick_Handler 中断定时newadcval、newlevel、newheight都是最新一次数据,与上一次数据比较是否液位发生变化led_process中题目要求三个led按要求变化,led1要一直闪烁,led2、led3满足特定条件后才变化翻转所以使用两个标志位led2flag和led3flag同时使用静态变量led2count计数闪烁五次后关闭。
2024-01-31 20:21:04
4171
原创 蓝桥杯嵌入式第六届真题(完成)STM32G431
使用状态机,第一次进入之后,进入下一个状态,如果电平还是刚刚的电平说明真的按下,如果不是重新进入第一个状态重新判断,定时器定时时间10ms刚好消抖,最后一个case2是判断如果按键松开,说明可以进入下一次判断。只有最后四个函数是本人写的,其余为蓝桥杯官方提供,主要是两种i2c时序,指定地址写和指定地址读的时序,重点在读需要首先写入要读取的地址之后再开始读,浮点数的存储使用联合体union。处理按键任务,用户多个界面之间的转换以及上报时间的设置,根据当前lcd的状态,来决定按键按下的功能。
2024-01-31 02:47:13
5496
原创 地平线旭日X3派第一次启动
选中此串口,波特率选择921600,点击ok,可以看到板子正在启动。将USB转TTL插到电脑usb口上打开Mobaterm。选择Session会话,选择Serial串口。选中镜像,然后选中自己要烧录镜像的SD卡。用户名和密码都是root。地平线旭日X3派全身照。
2024-01-30 19:47:55
868
1
原创 ROS2常用命令工具
build-type : C++或者C ament_cmake ,Python ament_python。rclpy std_msgs sensor_msgs :编译依赖。查看节点详细信息,包括订阅、发布的消息,开启的服务和动作等。topic_name:需要发布话题消息的话题的名字。罗列当前系统的所有接口,包括话题、服务、动作。message_type:话题的数据类型。service_name:需要调用的服务。pkg_name :创建功能包的名字。node_name:可执行程序的名字。
2024-01-27 13:43:46
615
原创 docker与宿主机数据交换—ROS2
docker cp [容器id:容器内路径] [目的主机路径]docker cp c54bf9efae47:/root/test.txt ~/将容器c54bf9efae47内的文件拷贝到宿主机的根目录下。
2024-01-19 18:28:28
801
原创 Python-PyQt5树莓派上位机
一个使用PythonQT设计的树莓派的上位机,功能大概如下1.笔记本电脑与树莓派的通讯是否成功显示(给个信号显示判断是否通讯成功);2.阈值的设置显示;3.图像成像的显示;4.是否发生火灾报警显示。5.当前像素灰度值最大值和最小值显示。6.对以上主要信息数据(时间年月日时分秒信息、阈值数据、灰度值最大值和最小值、是否发生火灾报警信息)的采集保存,用excel或txt存就行。
2024-01-08 16:24:30
2070
原创 stm32f103c8t6连接OneNet云平台进行数据的上传与下发
esp8266.c中设置wifi名字和密码以及云平台IP和端口号。实现了数据发送云平台和云平台的数据发送到stm32单片机。同样是onenet.c中的OneNet_RevPro函数。数据上传部分在onenet.c中找到这个函数。注意此教程只适用于老版本onenet云平台。首先是onenet.c中的云服务器设置部分。接收onenet收到的数据。
2024-01-08 12:42:52
3788
原创 将特定目录添加到 Python 搜索路径
最近在使用青云1000(昇腾310)时,有很多华为提供的第三方库,不是通过pip安装的那些,在使用时不能直接import直接使用,简而言之就是python找不到这些库,下面提供三种措施。
2023-12-25 19:01:01
961
原创 vscode不同代码的项目分配不同的工作区
很多时候我们很多项目都需要使用vscode来进行编写代码,像我个人会拿vscode写python,linux远程写代码,前端和stm32的编辑器,这些项目都有自己的插件,如果我们启动某一个项目,其他的与本项目无关的插件也启动了,这就会非常占用我们的内存,下面提供一种根据项目分不同工作区的方式。在目标出添加“文件夹绝对路径”,记得在的位置后要先添加一个空格,我这里有两个图标。在拓展中点击禁用(工作区),以后再打开,就不会默认启动了,其他也同理。可以看到与该项目无关的插件被禁用。拖到桌面右键新快捷方式属性。
2023-12-25 17:09:07
1842
原创 使用dd命令打包jetson nano 树莓派等linux开发板SD卡中的镜像
很多时候我们为了防止sd卡损坏,需要备份一个镜像,下面是使用dd命令将sd卡中的镜像一模一样的复制一份的教程首先使用df -h命令查看挂在的u盘最下面的三个sdb1 sdb2 sdb3 就是需要打包的镜像的分区可以安装pv这个工具是检测管道流数据的,不用pv的话,你就不知道已经传了多少数据,心情会更加煎熬这样右下角显示百分比和剩余时间了。
2023-12-24 17:45:05
1227
原创 Qt使用函数指针处理信号和槽函数重载
这种方式的好处是,它提供了一种更灵活的方法来连接信号和槽。可以在运行时决定要连接的信号和槽,而不必在编写代码时就固定下来。这在处理动态生成的对象或在编写库代码时特别有用,因为你可能不知道最终的用户会如何使用这些对象。
2023-12-23 15:41:59
985
原创 信号与槽QT4和QT5的区别
Qt4在 Qt 4 中,信号和槽的连接使用了一种不同的语法,这是 Qt 框架特有的,利用了 Qt 的元对象系统(Meta-Object System)。SIGNAL()和SLOT()。这些宏用于在运行时进行信号和槽的匹配,而不是在编译时。这种方法相比于 Qt 5 引入的语法,类型安全性较低,且更容易出现因拼写错误而导致的运行时错误。
2023-12-23 13:02:36
1122
原创 Canny函数opencv
在Canny边缘检测算法中,这两个阈值的选择非常关键。相反,如果阈值设置得太高,则可能会导致有用的边缘信息被遗漏。通常,高阈值是低阈值的两到三倍是一个不错的起点,但最佳值取决于具体的应用和图像特性。这个阈值用于确定哪些边缘是真正的边缘。如果像素的梯度强度高于高阈值,那么它一定是边缘的一部分。而如果像素的梯度强度介于两个阈值之间,则该像素只有在与高于高阈值的像素相连时才被视为边缘的一部分。如果一个像素的梯度强度高于低阈值,那么它可能被视为边缘的一部分。函数时,其中的两个参数是用于边缘检测的阈值。
2023-12-22 17:33:58
1272
空空如也
ISBN 号码例子都过了也只过了例子,我这个代码问题出在哪里
2023-05-12
macOS 的vs开发C#为什么没有输出的那个窗口找了很多也没找到
2023-03-06
macos的PyCharm安装wordcloud安装失败
2023-03-03
快速排序这段代码怎么理解
2023-01-26
用stm32+超声波通过pid控制小车与墙保持15cm距离
2023-01-14
java 报错Index 1 out of bounds for length 0
2023-01-08
stm32电机和流水灯的仿真跑不出来
2022-11-18
Proteus跑stm32仿真跑不起来
2022-11-07
mac版vscode每次运行的的时候就弹出这个怎么处理
2022-11-03
合并两个链表的函数,求解释错误在哪?
2022-10-06
C++链表调用两次遍历,结果却只输出一次
2022-10-04
C++ 链表使用clion调用两次函数为什么只有一次结果
2022-10-04
C++数据结构一使用尾插入法就报图片中的错误
2022-10-04
macos的vscode报错这是怎么回事?
2022-09-30
不理解锁存器的含义及作用,求解释(网上的也看不太懂)
2022-09-28
uchar code table[]数组为什么还可以这么定义
2022-09-28
macos版的vscode,突然就这样了,求解决办法
2022-09-19
为什么个十百千位达不到效果啊,debug的内容跟想的不一样
2022-09-14
泰勒公式求sin(x)感觉没问题啊,但是为什么得不出正确结果
2022-09-14
PD虚拟机下载的dev用不了点击编译运行但是没有弹出黑框框
2022-09-09
clion报错请大家帮我看看原因
2022-08-29
macos 的vscode配置C++环境遇到这个问题该怎么办
2022-08-27
为什么是对256求模,求解释
2022-08-20
这个延时如何实现延时1秒的
2022-08-19
关于容器的一个小项目,求解释
2022-07-25
vscode这一般是什么情况?怎么解决输出个hello world没问题
2022-07-24
蒙特卡洛模拟为什么x>=3
2022-07-16
建立顺序表为什么全给我闪红
2022-07-13
请问问题在哪,检查了好几遍,求解释
2022-07-12
函数或变量无法识别digitsPattern
2022-07-04
这个程序为什么死循环
2022-07-03
Z 必须为矩阵,不能是标量或向量。
2022-07-02
keil5MDK这个报错怎么解决
2022-06-29
关于运算符优先级的问题
2022-06-20
建立新数组达不到效果怎么改
2022-06-14
求素数为什么会有1问题在哪?
2022-06-14
b[0]溢出了问题在哪?
2022-06-11
一运行就崩溃问题在哪
2022-06-11
判断素数问题出在哪如何改?
2022-06-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人