自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王尼莫的博客

随便写写

  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 python绘制爱心代码

Python中绘制爱心的代码可以通过多种方式实现,高级的爱心代码通常指的是使用较复杂的算法或者图形库来生成更加精致的爱心图形。函数,它通过Turtle的移动和转向绘制出了一个爱心的轮廓,并且填充了红色。运行这段代码会打开一个窗口,显示一个红色的爱心图形。这段代码使用了Turtle图形库,这是Python的一个标准库,常用于简单的图形绘制。在这段代码中,我们定义了一个。

2024-08-23 18:38:34 216

原创 【程序员如何平衡日常编码工作与提升式学习?】在繁忙的编码工作中找到个人成长空间

在当今快速发展的技术行业中,编程工作面临着前所未有的挑战。程序员不仅要不断学习新技术,还要在紧张的时间表下保持高质量的代码输出。以下是对编程工作挑战的深入分析以及一些日常实践中的高效编码技巧。

2024-08-23 10:32:55 756

原创 【QGroundControl二次开发】十一. 使用Inno Setup打包QGC地面站(windows QT打包通用)

大功告成,安装完成后可以在开始菜单找到程序,需要卸载直接进入windows卸载页面卸载即可。首先在QT中将程序编译为release版本文件。等待打包完成,打包完成后可以在设置的输出路径中找到安装包。运行打包好的安装程序。

2024-08-15 09:51:27 166

原创 【详细】linux 打包QT程序

安装linuxdeployqt。安装patchelf。打包appimage。打包 Debian包。

2024-08-13 19:47:44 685

原创 ubuntu 下用qt编译出的程序为x-sharedlib类型

在jetson nano中使用qt编译出来的程序为shared library不可执行程序。用终端执行正常,但是不能双击运行,下面为解决办法。

2024-08-12 16:45:21 357

原创 linux为QT程序创建桌面应用

【代码】linux为QT程序创建桌面应用。

2024-08-12 15:23:20 267

原创 程序员面试中的“八股文”:助力还是阻力?

八股文”在程序员面试中扮演着至关重要的角色,它通常指的是一系列固定的技术问题和知识点,如数据结构、算法、操作系统等。例如,对于数据结构和算法的熟练掌握,不仅能够体现应聘者的专业水平,更在实际工作中,如优化代码效率、解决复杂问题时发挥关键作用。同时,作为应聘者,也应当意识到“八股文”只是面试的一部分,真正的职业发展还需要依靠持续的学习和实践,不断提升自身的技术广度和深度。所谓的“八股文”,指的是一系列在技术面试中频繁出现的问题,这些问题通常涉及数据结构、算法、设计模式等计算机科学的基础知识。

2024-08-09 17:47:47 594

原创 【QGroundControl二次开发】十. QT添加GStreamer视频播放同时保存

上一章介绍使用QT播放GStreamer视频流。这章介绍如何在原有基础上保存为视频,同时保存为一个个规定大小的小视频。

2024-08-08 18:38:37 456

原创 【QGroundControl二次开发】九. QGC地面站替换自定义MAVLINK协议

具体操作参考之前文章->【QGroundControl二次开发】四.QGC自定义MAVLink消息。

2024-08-08 18:30:24 628

原创 【C#语音文字互转】C#语音转文字(方法一)

其中运行时包 Whisper.net.Runtime 包含本机whisper.cpp库,它是运行 Whisper.net 所必需的。中等模型及以上效果较好,模型越大越消耗性能。准备一段wav格式的音频,运行下面示例。下载预训练的Ggml模型。

2024-08-05 19:12:08 475

原创 【C#语音文字互转】.NET的TTS文本转语音合成

该TTS框架支持语音合成标记语言(SSML)的格式输入。SSML(Speech Synthesis Markup Language)是一种基于XML的标记语言,用于在文本到语音(TTS)系统中控制发音和语调等增强自然度。具体格式定义详见W3C SSML适当的停顿: 标签可以用来在句子或短语之间添加适当的停顿。控制语速: 可以调整文本的朗读速度。rate 属性可以设置为更快或更慢的值。调节音量。

2024-08-05 14:52:16 1257

原创 FFmpeg Windows安装教程

网址,点击下载windows版ffmpeg。下载第一个essentials版本就行。将bin添加到系统环境变量。,显示版本即为安装成功。验证安装是否成功,输入。

2024-07-31 18:39:05 472

原创 【QGroundControl二次开发】八. QT实现播放gstreamer视频

上篇写到如何搭建gstreamer在Windows和linux下的环境,以及新建VS工程解码视频流。本篇主要讲述c++源码移植到QT工程。

2024-07-31 18:30:05 624

原创 gstreamer 配置+解析编解码

【代码】gstreamer 配置+解析编解码。

2024-07-29 10:40:38 896

原创 【QGroundControl二次开发】七.QGC自定义MAVLink消息MavLink通信协议 C++应用

https://blog.csdn.net/qq_44070755/article/details/122222337

2024-07-27 18:40:51 712

原创 【QGroundControl二次开发】六. QGC地面站中视频流配置gstreamer

本文解决qgc源码编译后无法接收视频推流,原因是缺少gstreamer。下面为windows安装流程,qgc版本为4.4.1稳定版。

2024-07-27 14:22:13 451 1

原创 Linux中为qt添加opencv

在Qt Creator中打开项目,然后编辑。

2024-07-25 15:47:35 453

原创 【详细】Ubuntu下安装qt5

QT5 安装(Ubuntu20.04) 详细

2024-07-25 10:22:28 855

原创 Windows连接Jetson nano远程桌面

重启后打开软件如下所示,nomachine会自动搜索到在线的nomachine设备。需要Jetson端也连接显示器,或者使用虚拟屏幕欺骗系统。下载后将安装包放入Jetson用户目录下。如下图所示即为安装成功并且已经启动。注意安装完成后会提示重启电脑。双击进入,输入账户名和密码。一样在官网找到exe安装包。

2024-07-24 14:35:25 379

原创 【QGroundControl二次开发】五.python生成自定义MAVLink消息及使用

mavutil 模块提供了通过串行端口、tcp 或 udp 通道建立与 MAVLink 系统的通信链路的方法。它还可以连接到文件对象,这在处理遥测日志时非常有用。在MAVlink源码下找到message_definitions/common.xml,修改其中的内容。,复制放到python环境下的site-package中。XMl: 选择刚才修改后的common.xml。mavutil同样可以直接改变UAV的飞行模式。mavutil直接设置参数的函数.mavutil读取无人机的参数.将刚才生成的文件放入。

2024-07-24 11:51:51 1007

原创 【QGroundControl二次开发】四.QGC自定义MAVLink消息

XMl: 选择刚才修改后的common.xml。使用mavgenerate编译成所需语言。点击Generate, 显示如下即为成功。在MAVlink源码下找到。

2024-07-23 15:23:19 568

原创 【QGroundControl二次开发】三.QGC修改标题和logo(Windows)

找到后将qgroundcontrol修改为自己的logo文件名。使用qt打开QGroundControl源码,在。原始的logo在路径为项目根目录下的。,在这里添加自己的logo。,修改为自定义名称。

2024-07-19 18:04:10 694 1

原创 生成式AI的未来:对话与自主的交汇点

生成式人工智能(Generative AI)是一种前沿技术,它通过机器学习算法从大量数据中学习模式,并据此生成新的、与训练数据相似的内容。这种技术在文本、图像、音频和视频等多个领域均有突破性的应用,如自然语言处理中的文本生成、图像识别中的艺术创作等。

2024-07-19 14:27:02 384

原创 【问题解决】Jetson nano 安装torchvision-0.15.1

安装好pytorch之后,使用下面的命令行从源码安装torchvision 0.15.1版本,先安装依赖,然后下载安装包,最后从源码编译安装。而NVIDIA在JetPack 6.0 才终于提供了torchvision和torchaudio的安装。而运行YOLOV8推理需要安装pytorch和对应版本的torchvision。下面为torchvision在jetpack5.1.1下的安装。安装成功的话直接在命令行里输入,将cuda添加到环境变量。使用jtop查看gpu占用,发现gpu已经正常调用。

2024-07-18 16:32:29 535

原创 【问题解决】Jetson nano 安装pytorch使用GPU推理

下载pytorch命令依据当前系统的jetpack版本。安装 yolov8 后只调用cpu推理图片。###2.3 下载pytorch。看到torch 版本为。

2024-07-18 12:24:12 348

原创 【问题解决】jetson orin nano无法识别cuda

Jetson 系统自带cuda tensorrt 等深度学习工具,但是输入。重新执行.bashrc文件,使环境生效;装了jet-packet依然无果。查看输出成功显示CUDA信息。

2024-07-18 10:46:54 284

原创 【QGroundControl二次开发】二.使用QT编译QGC(Windows)

点击运行按钮,将会自动构建项目并运行。编译完成后,QGC程序将展示界面。,打开之前下载的QGC项目源码。打开QT Creator,选择。

2024-07-17 11:12:55 730 2

原创 【QGroundControl二次开发】一.开发环境准备(Windows)

QGroundControl地面站 使用 Qt 作为其跨平台支持库。推荐使用git下载源码。直接下载zip 文件不包含相应的子模块源代码。开发时不适用Visual Studio,但是构建时需要用到它的编译器。②在安装程序的“选择组件”对话框中,选择:Qt 6.6.3。② 然后进入源码文件夹,使用下面git命令更新子模块。(需要空间较大,等待时间长。QGroundControl 的源代码。当前示例release版本为4.4.0。

2024-07-17 10:21:01 540 1

原创 dronekit-sitl+MAVproxy+MissionPlanner进行无人机仿真

3. 打开Mission Planner软件(QGroundControl同理),点击连接,端口填入14550,点击OK。tcp:127.0.0.1:5760: SITL默认端口,作为MAVProxy的输入,把输入数据转发到如下两个端口。127.0.0.1:14550:该端口用于MissionPlanner链接进行无人机数据收集。mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。127.0.0.1:14551:该端口用于Python程序对无人机进行控制。

2024-07-14 16:17:48 299

原创 【unity笔记】十、Obi绳索插件使用

在场景下创建一个obi solver对象,在该对象下再创建Obi Rope对象。随后将蓝图拖到Obi Rope对象下的。组件,即可看到场景中多了一条绳索。在Assets中右键选择。

2024-07-12 20:10:01 1038

原创 【unity笔记】常见问题收集

参考官方文档,GI(Global Illumination) data 指的是全局照明信息。在Unity的Edit->Preference中,可以编辑GI缓存路径和分配GI缓存大小。

2024-07-11 13:17:21 299

原创 mavlink协议解析

接下来的两个字节通常用于表示发送消息的系统ID和组件ID。在这个例子中,48可能是系统ID,FF可能是组件ID,或者反之。这个字节表示数据包中有效载荷(不包括起始字节、长度、系统ID、组件ID和校验和)的长度。BE在十六进制中对应的十进制数值是190,根据MAVLink的消息ID定义,这个值对应于特定的消息类型。在这个例子中,序列号为00 00,可能表示这是一个逻辑上的起始消息。在这个例子中,我们有6个字节的数据。这是MAVLink协议的起始标志位,在MAVLink v1中,每个数据包都以0xFE开始。

2024-07-11 12:01:17 490

原创 MAVLink代码生成-C#

XML选择:mavlink/message_definitions/v1.0/common.xml。mavgenerate.py 是用Python语言编写的MAVLink的图形用户界面代码生成器。使用git下载或者直接下载压缩包(压缩包下载不会自动下载关联的项目,需手动下载,如该项目下的。其中mavgen是mavgenerate.py工具的后端,所以用哪个都可以。现在已准备好生成 MAVLink 库。除了用GUI工具,也可用命令行工具。Out:选择一个输出路径。

2024-07-10 16:01:22 405

原创 【unity笔记】九、Unity添加串口通信

unity仿真使用虚拟串口调试。下面为简单流程。

2024-07-10 14:18:15 528

原创 【unity笔记】八、Unity人物动画介绍

导入项目中,找到该包,在UnityTechnologies->SpaceRobotKyle->Prefabs下可以找到机器人预制体,该预制体拥有完整的骨骼结构,并且已经包含了动画器。如果想要重新添加动画,可以使用UnityTechnologies->SpaceRobotKyle->Models中的模型。将准备好的插件添加到项目中,这里建议在Unity Asset Store中购买后选择在unity中打开。可以Robot Kyle自带的预制体为参照,为内置的无动画模型添加动画。在unity 中导入人物模型。

2024-06-26 19:36:45 438

原创 【unity笔记】七、Mirror插件使用

Mirror 是一个用于 Unity 的开源多人游戏网络框架,它提供了一套简单高效的网络同步机制,特别适用于中小型多人游戏的开发。简单高效:Mirror 以其简洁的 API 和高效的网络代码而受到开发者的欢迎。基于 UnityEngine 生命周期:Mirror 利用 Unity 的生命周期回调进行数值同步,简化了网络开发流程。RPC 调用。

2024-06-26 10:44:54 1748

原创 【unity笔记】六、UI实现下拉列表切换视角

在Dropdown的Options属性中添加新的选项,通过点击+按钮来添加选项,并为每个选项设置一个显示名称。为Dropdown添加一个事件监听器,以便在用户选择不同的选项时触发相应的事件。在Unity场景中右键点击并选择。来创建一个新的下拉列表。

2024-06-25 14:37:57 390 1

原创 【unity笔记】五、UI面板TextMeshPro 添加中文字体

准备字库文件,新建一个文本文件,命名为“字库”,打开.txt文件,编辑文字,在项目实际应用中,加入所有常用汉字,可以直接百度常用汉字库。配置如下图所示,点击Generate Font Atlas开始生成字体图集纹理,等待一段时间,点击Save,保存到项目Fonts文件夹中。准备字体文件,从Windows系统文件的Fonts文件夹里拖一个.ttf文件(将字体文件和字库文件复制到Unity项目中,能找到就行。在UI中添加刚才制作的字体,即可正常使用。

2024-06-25 11:28:50 813

原创 【unity笔记】四、Enviro- Sky and Weather插件使用

Enviro内置 RP、URP、HDRP,开箱即用。动态天空随附的天空系统经过精心设计,以实现最佳性能和灵活性。使用多种颜色渐变,而不是调整人工数字。为您的项目创建独特且非常逼真的天空非常简单!灯光由 Enviro 控制的逼真且易于调整的照明将使您的场景栩栩如生。Enviro 可以控制您的定向照明、环境照明和反射探头以获得最佳效果特别是在使用一天中的动态时间时。体积云Enviro 包括双层体积云系统。得益于时间重投影和 LOD系统,它提供了令人惊叹的视觉效果和出色的性能。

2024-06-19 10:07:12 912 1

原创 【unity笔记】三、冰山碰撞变成碎块效果

/ 冰块破碎后的预制体// 施加给碎片的力的倍数// 碎片的最大旋转速度Debug.Log("碰到了");BreakIce();return;//碰撞效果// 销毁原始冰块*/// 实例化破碎的冰块碎片= null)// 在冰块位置实例化碎片//获取每个碎片子对象i++)//为碎片添加刚体// 冰块破碎后的预制体 public float forceMultiplier = 1.0f;

2024-06-17 18:42:13 455

QT实现播放gstreamer视频

本源码为博文 《【QGroundControl二次开发】八. QT实现播放gstreamer视频 》配套源码, 搭建gstreamer在Windows和linux下的环境,以及新建VS工程解码视频流请参阅之前博文。 博文包含: 一. QT工程配置 二. 项目代码 三. 测试 实测可运行,运行环境为Ubuntu系统+QT+Gstreamer

2024-08-02

相机模型、相机标定及基于yolov5的单目测距实现

1 前言 在摄像头成像过程中,物体反射的光线通过摄像头的凸透镜打在成像器件上,形成一张图片。这是一个三维物体转换为二维图像的过程。在这个过程中,丢失了物体的深度信息,所以单目摄像头很难测距。但是,我们可以通过一个强假设,来简单计算物体的距离,即假设物体是处于地面上。具体意思下面再详细说。 2 相机模型及单目测距原理 相机模型可以简单看成一个凸透镜成像的模型。下图中,XcYcZc是相机坐标系,其原点为光心O,是相机凸透镜的中心点。x-o1-y坐标系是图像坐标系。 图片从b站up主(uid:109364003)的视频中截图的。 图中有一个车辆,且车辆在地面上,其接地点Q必定在地面上。那么Q点的深度便可以求解出来。具体求解步骤懒得打公式了,就截图了。在单目测距过程中,实际物体上的Q点在成像的图片上对应Q’点,Q’点距离o1点沿y轴的距离为o1p’。这个距离o1p’除以y轴像素焦距fy (单位为pixel) ,再求arctan即可得到角度b’。然后按图中步骤很容易理解了。 在按图中步骤求解深度OD时,如果相机高度H、相机光轴与水平线的夹角a没有准确测量的话,会对测距精准度造成较大影响。

2024-05-22

YOLOv5+单目测距(python)

1. 相关配置 系统:win 10 YOLO版本:yolov5 6.1 拍摄视频设备:安卓手机 电脑显卡:NVIDIA 2080Ti(CPU也可以跑,GPU只是起到加速推理效果) 2. 测距原理 单目测距原理相较于双目十分简单,无需进行立体匹配,仅需利用下边公式线性转换即可: D = (F*W)/P 1 其中D是目标到摄像机的距离, F是摄像机焦距(焦距需要自己进行标定获取), W是目标的宽度或者高度(行人检测一般以人的身高为基准), P是指目标在图像中所占据的像素 了解基本原理后,下边就进行实操阶段 3. 相机标定 3.1:标定方法1 可以参考张友正标定法获取相机的焦距 3.2:标定方法2 直接使用代码获得焦距,需要提前拍摄一个矩形物体,拍摄时候相机固定,距离被拍摄物体自行设定,并一直保持此距离,背景为纯色,不要出现杂物;最后将拍摄的视频用以下代码检测: import cv2 win_width = 1920 win_height = 1080 mid_width = int(win_wid

2024-05-22

python实验五.py

1、 一个三维向量类,并定义相应的特殊方法实现两个该类对象之间的加、减运算(要求支持运算符+、-),实现该类对象与标量的乘、除运算(要求支持运算符*、/),以及向量长度的计算(要求使用属性实现)。 2、 编程实现如下功能: (1)定义一个抽象类Shape,在抽象类 Shape中定义求面积 getArea()和周长 getPerimeter()的抽象方法。 (2)分别定义继承抽象类Shape的3个子类即Triangle、Rectangle、和Circle,在这3个子类中重写 Shape中的方法getArea()和 getPerimeter( )。 (3)创建类Triangle、 Rectangle、 Circle的对象,对3个类中的方法进行调用测试。 3、使用第六章(王雷春版)介绍的知识设计一个“书籍出租管理系统”,该系统包括以下功能。 (1) 菜单项“1”:显示书籍(包括书籍名称、价格和借出状态)。 (2) 菜单项“2”:增加书籍(包括书籍名称和价格)。 (3) 菜单项“3”:借出书籍(包括借出书籍名称和借出天数)。 (4) 菜单项“4”:归还书籍(包括归还书籍名称和应付的租书费)。 (5) 菜单项“5”:统计书籍(包括借出书籍册数、未借出书籍册数和总册数)。 (6) 菜单项“-1”:退出系统。 体会利用面向对象编程的思想。 4、设计一个“超市进销存管理系统”,要求如下: (1)系统包括7种操作,分别是:1查询所有商品;2添加商品;3修改商品;4.删除商品;5卖出端口;6.汇总;-1.退出系统。 (2)选择操作序号“1”,显示所有商品 (3)选择操作序号“2”,添加新的商品(包括商品名称、数量和进货价格)。 (4)选择操作序号“3”,修改商品 (5)选择操作序号“4”,删除商品 (6)选择操作序号“5”,卖出商品(包括商品名称、数量和售出价格)。 (7)选择操作序号“6”,汇总当天卖出商品,包括每种销售商品名称、数量、进货总价、销售总价等。 (8)选择操作序号“-1”,退出系统。

2021-12-08

mini_music.zip

【新手】音乐小程序

2021-11-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除