自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 seetaface2例程移植至Qt

参考博客:https://blog.youkuaiyun.com/sinat_33896833/article/details/100183581这篇博客写的很好,感谢博主的分享。我简要的说明几点我遇到的问题(我没有尝试方法一,直接用的方法二):1.增加一个头文件夹我们可以看到头文件实际上不是在include文件夹里面,而是在子文件夹seeta中。所以我们在添加包含目录时还需要增加...

2019-10-20 11:15:36 1747 2

原创 Win10下配置Qt5.12.4+Opencv3.4.7环境

本机环境:Windows10-64位Qt 5.12.4Opencv 3.4.7CMake 3.16.0第一部分--安装Qt 5.12.4 CMake 3.16 Opencv 3.4.71.Qt官方下载地址:http://download.qt.io/archive/qt/2.CMake下载地址:https://cmake.org/download/3.Openc...

2019-10-16 22:26:49 1251

原创 jsoncpp库的配置与使用

推荐使用vcpkg来安装jsoncpp库,它可以非常方便的将jsoncpp库集成到你的visual studio项目中。

2023-09-05 14:19:44 852

原创 TCP协议中的滑动窗口机制具体是如何实现流量控制的?

在TCP连接刚建立时,发送方以较小的发送窗口开始传输数据,然后逐渐增加发送窗口的大小,以便测试网络的拥塞情况。发送方窗口是发送方维护的一个数据窗口,用于控制在任一时刻允许发送的数据量。发送窗口的大小取决于两个因素:接收方通知的接收窗口大小和发送方自身的拥塞窗口大小。TCP协议通过使用滑动窗口机制来进行流量控制,以确保发送方和接收方之间的数据传输速度相匹配,避免数据丢失和拥塞。发送方会根据网络的拥塞程度来动态调整发送窗口的大小,以保持网络流量的稳定性,避免网络拥塞。2 TCP协议的滑动窗口是什么?

2023-09-04 15:12:09 336

原创 Git学习笔记

上图是初始化一个git仓库的过程。

2023-08-18 14:12:16 290

原创 C++设计模式——工厂模式

之所以叫做简单工厂模式,是相对于其他两种工厂模式(工厂方法模式和抽象工厂模式)而言,它的实现代码更简单,理解起来更加清晰易懂。我们使用简单工厂模式后,创建各种各样的控件,就不用和它们控件本身的类打交道(Button、Image、Text),而是通过ItemFactory的成员函数createFactory,将不同字符串标识传入进去,从而返回不同的控件,这其实就是一种封装变化。

2023-06-04 11:04:02 1027

原创 QML实现一个TreeView

在Qt5中的QtQuick.Controls 2.x中没有TreeView这个控件,而只在QtQuick.Controls 1.x中拥有这个控件。因此当我们使用高版本的QtQuick.Controls时,无法使用TreeView,因此我们必须得想办法自己实现一个TreeView。实现TreeView的最容易想到的思路就是迭代使用ListView,ListView我们是可以使用的,而TreeView实际上就是ListView套ListView(套娃),因此灵活使用ListView就能制作一个TreeView。

2023-05-26 17:13:54 2607 1

原创 QML中ListView控件的使用

使用ListView控件,需要特别注意两个部分:一个是ListView的Model,它用来提供要显示的数据,可以由QML中的类ListModel、XmlListModel提供,甚至可以用C++中的QAbstractItemModel或QAbstractListModel来提供;第二个是delegate,它用来定义数据该如何显示,一般使用Component来实现。

2023-05-25 18:05:16 1054

原创 #pragma once与#ifndef

1 #ifndef?#ifndef我们是经常看到的,它是一种防卫式声明语法,用来防止重复包含头文件的。

2023-05-24 22:46:02 709

原创 C++API控制Airsim-静态链接库的配置

上面就是全部步骤,至此我们就可以通过一个C++程序来控制Airsim中的无人机或小车。(亦或者是使用Qt,按下不同的按钮,通过调用不同的API来控制airsim)因此,我们可以从官方git clone下来的文件中,找到AirLib这个项目,把我截图中的内容复制到自己的项目中,然后按照上面的配置把静态链接库配置好,以及包含正确的头文件。参考我上面的截图配置好附加库的目录(静态链接库所在的位置)参考我上面的截图配置好包含好正确的头文件。参考我上面的截图配置好附加依赖项。

2023-05-12 21:43:27 738

原创 Airsim的settings.json文件的解析

AirSim的settings.json文件是一种配置文件,用于存储AirSim模拟器的各种设置参数,包括车辆的属性、环境的属性、传感器的设置等。该文件通常存储在AirSim的安装文件夹中的"C:\Users\ferdinand\Documents\AirSim"路径下。(ferdinand是我的电脑用户名称)SimMode将决定模拟器使用哪种模式。"SimMode": "" // 让用户自己选择使用哪种模式"SimMode": "Multirotor" // 选择多旋翼模式。

2023-05-11 15:12:19 1282

原创 Lambda表达式总结

C++11中,lambda表达式的类型被称为闭包类型。正常来说C++是不允许在函数内定义函数的,但是通过lambda表达式,相当于在函数中定义函数了。Lambda表达式是C++11引入的一个很重要的特性,它是一个可调用对象,定义了一个匿名函数,并且可以捕获一定范围内的变量。解释:当到auto这一行的时候,i的值已经被复制到f这个lambda表达式中了;lambda表达式相当于定义了一个新类型,并且生成了一个匿名的对象(闭包)。[捕获列表],lambda表达式通过这个捕获列表来捕获一定范围内的变量。

2023-05-09 21:52:40 647

原创 对象移动、移动构造函数和移动赋值运算符

对象移动就是把一个不想用了的对象A中的一些有用的数据提取出来,在构建新对象B的时候就不需要重新构建对象中的数据,而是从不想用了的对象A中提取出来的有用数据在构建对象B时拿来使用。

2023-05-08 15:12:47 254

原创 左、右值和左、右值引用

左值指的是可以出现在赋值运算符(=)左侧的内容,但其实左值一般具有左值属性和右值属性,不仅可以出现在等号左侧,也可以出现在等号右侧。右值指的是只能出现在赋值运算符(=)右侧,不能被赋值的内容。右值只具有右值属性。左值实际上可以代表一个地址,而右值不是。int i = 10;i = i + 1;上面代码中,i就是一个左值,它在第一条语句中位于等号的左侧,而10这个数值实际上就是右值,在等号右侧,并且它没有地址的概念。

2023-05-07 20:21:49 208

原创 数据结构与算法之排序链表

参考Leetcode-148。上述算法的时间复杂度是O(n logn),空间复杂度为O(logn),其中n为链表的长度。subLength的长度变化为[1, 2, 4, ...],每一轮是前一轮的两倍,重复上述步骤;它的时间复杂度为O(n logn),空间复杂度为O(1),其中n为链表的长度。将链表拆分成长度为subLength的子链表,每两个子链表进行合并;找到链表的中点,将链表拆分成两个子链表;对两个子链表进行合并排序;两个子链表重复前两个步骤;

2023-05-07 15:32:33 438

原创 C++中关于智能指针的总结

C++智能指针

2023-05-06 22:17:48 71

原创 UE4中实现鼠标拖动游戏中的物体

UE4开发卡牌游戏记录过程

2023-04-03 22:55:25 2932 1

原创 C++标准库之numeric库

C++标准库之numeric

2023-03-28 15:22:40 773

原创 C++ STL中容器的总结

c++ STL 常见容器总结

2023-03-25 15:11:44 230

原创 C++中常见的函数对象

C++标准库中函数对象的总结

2023-03-25 15:09:42 542

原创 关于C++输入的基础

C++输入基础:cin、cin.get()、getline(cin,str)

2023-03-25 14:07:42 238

原创 px、pt、ppi、dpi、dp、sp基础知识补充

1. px: pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元2. pt: point,点,印刷行业常用单位,等于1/72英寸3. ppi: pixel per inch,每英寸像素数,该值越高图像越清晰,1英寸=2.54cm4. dpi: Density-independent pixel,该值越高图像越清晰5. dp: dip,Density-independent pixel,是安卓开发用的长度单位,1dp表示在屏幕像素点密度为160ppi时1px长度...

2022-04-13 16:32:22 1152

原创 数据结构与算法-线性表-单链表

数据结构中的线性表的第二种物理结构——链式存储结构,它的c++实现代码如下:#ifndef DANLIANBIAO_H#define DANLIANBIAO_H#include<iostream>using namespace std;typedef int ElemType;struct Lnode{ ElemType data; Lnode* next;};typedef Lnode* LinkList;//单链表的初始化bool InitList(L...

2022-04-07 22:03:35 293

原创 数据结构与算法-线性表-线性存储结构

数据结构中的线性表的第一种物理结构——顺序存储结构,它的c++实现代码如下:#ifndef SHUNXUBIAO_H#define SHUNXUBIAO_H#include <iostream>using namespace std;#define MAX_SIZE 100#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int ElemType;typedef int Status;typ

2022-03-20 16:05:23 1115

原创 Ubuntu18下Qt程序配置Opencv

前言:本文在Ubuntu18.04已经编译完成opencv源码,然后准备将opencv库放进我的Qt应用程序中去。编译opencv源码参考别人的博客:Ubuntu18:使用CMake-gui编译OpenCV3源码的详细过程_Flag_ing的博客-优快云博客_cmake gui编译opencv一、新建QT应用程序 这里可以使用任何类型的QT程序,我是新建了一个qml的程序二、将opencv库的头文件和动态链接库添加进Qt应用程序中去...

2021-12-22 20:32:08 2071

原创 地面站增加全屏功能

这里主要实现了两个关于地面站全屏的功能:1.当连接到活跃的飞机后,自动开启全屏;当断开连接的飞机后,自动退出全屏。2.按ESC快捷键可以强制退出全屏。将下面代码放在MainRootWindow.qml中,实现代码如下:property bool _fullScreen: activeVehicle ? true : false on_FullScreenChanged: { if(_fullScreen==true) { ma

2021-12-20 10:57:32 302

原创 Ubuntu18.04.1下MySQL5.7的安装和卸载以及如何解决MySQL Error 1698(28000)错误:Access denied for user'root'@'localhost'

一、MySQL5.7的安装1.安装Mysql #命令1: sudo apt-get update #命令2: sudo apt-get install mysql-server2.配置MySQL #命令: sudo mysql_secure_installation 详情:#1VALIDATE PASSWORD P...

2019-03-02 23:13:07 273

SeetaFace2-master.zip

D:\SeetaFace2-master\example\SeetaExample\x64\Release 这个文件夹下的.exe文件可以直接运行。我们可以直接看到人脸识别的效果

2019-10-20

基于STM32F1的黑线循迹小车

本例程使用了stm32f1作为开发板,使用红外对管作为传感器,直流电机以及直流电机驱动L298N作为动力来完成的黑线循迹小车。程序简单明了,重要地方有注释,用户可以放心下载学习参考。

2019-04-12

基于51单片机的黑线循迹小车程序代码

通过最简单的黑线循迹小车程序,我们可以巩固学习51单片机的学习。本例程除了使用开发板,还使用了电机驱动L298N和两个直流电机。代码清晰明了,重要地方还有注释,可以放心下载

2019-04-12

STM32F4-SIM900A模块GPRS功能使用精简例程

本例程使用的是标准库,根据sim900a模块参考例程和正点原子官方例程修改而来,使复杂的官方例程精简化,并且添加注释,简单易懂,可以实现GPRS的数据传输功能。

2019-04-10

空空如也

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

TA关注的人

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