- 博客(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
原创 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
原创 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
原创 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
2019-10-20
基于STM32F1的黑线循迹小车
2019-04-12
基于51单片机的黑线循迹小车程序代码
2019-04-12
STM32F4-SIM900A模块GPRS功能使用精简例程
2019-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人