自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 在线安装Qt(全网最详细图文版)--以Qt5.15.2 Windows版为例

接触几年Qt有余,发现部分开发人员对Qt的认识远远不够,仅仅停留在表面。甚至有较少部分人认为Qt是一种开发编程语言或者将QTCreator当做Qt,这些理解都是错误的且过于片面。实际上来说,QT是利用C++语言编写一个跨平台应用开发的框架。Qt框架中包含大量的类,支持GUi、数据库、计算机网络、音视频处理、多线程等各类应用编程。使用Qt可以为计算机、服务器、移动设备等开发各种应用,尤其在图形用户界面程序中其作用不言而喻。

2023-08-18 18:53:29 9372 6

原创 QT翻金币小游戏实现(三)

4、创建翻金币场景设计好主场景以及选择关卡界面以后,就来到了最重要的一环:翻金币。首先还是创建一个cpp文件命名为PlayScene。第一步在选择关卡中声明PlayScene *pScene = NULL;方便后面使用。点击选择某一关卡按钮以后会跳入该场景,此时该场景需要显示出来,来选择关卡界面需要隐藏。第二步就是注视掉原来PlayScene.h中的构造函数,自己重回写一个构造函数,并写一个成员变量用于记录所选择的关卡数,具体的代码与结果如下://进入到了游戏场景 this-&gt

2021-05-15 22:29:52 725 1

原创 QT翻金币小游戏实现(二)

3、选择关卡场景的配置前面的步骤做好以后,就需要来到选择关卡界面。t添加C++文件,新建一个类名为ChooseLevelScene,基类为QMainWindow的文件, 这里建立QMainWindow文件是需要与前面主场景界面相同。在chooselevelScene.h文件中新建一个选择关卡场景的对象。然后就是设置延时0.5s进入选择关卡页面。具体的做法是:connect(startBtn,&MyPushButton::clicked,[=](){ startSound->

2021-05-15 20:59:51 332

原创 QT翻金币小游戏实现(一)

1、项目的基本配置创建Qt项目,选择基类为MianWindow并勾选创建界面,点击完成,项目创建成功。接着添加资源文件,主要包括:开始、返回、背景等的图片以及相应的音效等,添加资源的具体步骤较为简单,这里就不赘述。2、游戏的主场景的配置打开.ui文件,创建*“开始”菜单栏,以及它的子项“退出”*,并删除自带的工具栏与状态栏,因为后序步骤用不到的。创建的结果如下:接着,回到主场景的.cpp文件,创建主场景的大小、图标以及窗口的标题。代码及结果如下: this->setFixedSiz

2021-05-13 22:11:49 863 7

原创 在vs2013下安装MSDN

情况说明最近几天由于学习Win32需要用到MSDN,然后去网上自行安装,但是发现好多的安装教程并不是很完整,并没有找到适合自己的。为了避免更多人有我这样的遭遇,出一个完整的离线安装教程供大家参考:第一步,在戳这下载安装包进入后是这样子的,然后点击下载:选择第一个,然后点击next:点击确定:可能慢一点,在实验室用来大概15分钟左右就下载好了(注:看网络速度)。下载好以后,打开vs2013,点击帮助按钮:然后是这样子,设置帮助首选项,设置为在版主查看器中启动:接着点击:最重要的一个步骤

2021-04-21 11:00:35 312

原创 动态规划与背包问题

1、问题的出现如上图这样一个金字塔,要求从第一层开始到最后一层,所经过的节点之和最大,其中一个节点只能从左下或者右下。2、解决方式1)动态规划该方法首先定义了一个数组,用于储存最后一层节点。接着利用for循环将最后一层节点存储。然后,从最后一行依次遍历至第一行,从第一列遍历至第五列,最后选出所有节点之和最大的。代码实现:// 动态规划.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<memory.h>#define N

2021-04-20 22:18:00 55

原创 平衡二叉树(AVL)

1、概述详细的说明需要说明的是二种重要的旋转方式:左旋:旧的根节点为新的根节点的左子树新的根节点的左子树为旧的根节点的右子树右旋:旧的根节点为新的根节点的右子树新的根节点的右子树为旧的根节点的左子树重点说明四种失衡二叉树的解决方式:1)左左当根节的左子树的左孩子添加了新的节点,导致二叉树为失衡二叉树。解决方式:2)右右当根节点的右子树的右孩子加入新节点导致二叉树失衡。解决方式:3)左右当根节的左孩子的右子节点加入新的节点,导致二叉树失衡。解决方式:对根节的左子树进行左旋,然后对根节

2021-04-19 15:57:22 70

原创 哈希表的实现

1、哈希表说明1说明2哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。哈希表hashtable(key,value) 就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。参考1、利用链地址法实现

2021-04-19 09:38:07 2117

原创 A星寻路算法

1、寻路规则A*寻路其实就是对广度寻路的优化(广度寻路太傻所有可能的路都走),最大不同就是增加了对角线的四个方向并且增加了相应的权重去判断选取最小的权重所对应的路径去走,那么最终总的权重就是最小,此时就是最短路径。需要说明的是,权重的计算:F=G+H,其中F为某点到终点的权重,G为起始点到当前点的权重,H为当前点到终点的预估权重。H的计算公式为:((终点位置行-起点位置行)+(终点位置列-起点位置列))*预估权值(注:H不考虑障碍物啥的,只考虑直线距离)G就是每走一个方向,如上下左右就加10,如对

2021-04-16 16:35:17 397

原创 广度寻路算法

1、广度寻路规则与深度寻路沿着某一方向走不同的是,广度寻路将当前层所有可能要走的路都列举出来并遍历,然后接着下一层,最后谁先走到终点谁就是最短路径。2、程序实现利用vector容器实现。还是定义起始点与终点,将初始点标记已经走过。接着定义当前点的位置与将要走的位置,并未这些点建立vector容器。上、下、左、右四个方向,对应的row+±-或col+±-。做一个判断当前点是否能走,不能走的有2种情况:1、当前点已经走过或者墙。2、超出地图范围。3、具体程序如下:// 广度寻路算法.cpp : 定义控

2021-04-16 10:10:52 354

原创 深度寻路算法的实现

1、深度寻路算法规则深度寻路的规则是沿着一个固定的方向进行行走,等到了一个岔路口再继续选择方向,如果碰上了死胡同再退回下一个岔路口重新选择方向。走过的路不会重新走,一次只走一个岔路口。2、程序实现类似于深度遍历算法,深度寻路也是利用栈(stack)实现。首先定义起点与终点,接着定义当前位置与将要走的位置。程序中路径设置为:下、左、右、上。当往下走的时候ROW不变,COL++ ;其余方形类似。在程序中设置了可以走的条件为:1、不是墙2、没有走过。满足以上2个条件就可以尽情的行走。3、具体程序如下:为

2021-04-15 15:30:26 422

原创 完全二叉树利用数组实现

1、备用知识个人认为利用数组实现二叉树更为简单,二叉树的增、删、改、查也更为简单。在利用数组实现中不需要专门定义一个结构体去声明左孩子与右孩子,需要注意的是数组中的左右孩子是这样定义的:设父节点的下标为N,则左孩子的下标为:2N+1,右孩子的下标为2N+2。此代码利用数组实现的完全二叉树插入,删除,以及遍历。在私有数据成员包括了size(元素个数),capacity(容量),当size>=capacity时需要开辟空间,而开辟空间的大小为:capacity = capacity+((capa

2021-04-13 21:17:20 1294

原创 完全二叉树

1、什么是完全二叉树对于一颗具有N个节点的二叉树按层序编号,如果编号I的节点与同样深度的满二叉树中编号为I的节点在二叉树中位置完全相同,则这棵树被称为完全二叉树。另一种定义:完全二叉树是由满二叉树而引出来的, 若设二叉树的深度为h,除第 h 层外, 其它各层 (1~h-1) 的结点数都达到最大个数(即1~h-1层为一个满二叉树),第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。2、不是二叉树的情况:1)在二叉树中有右孩子没有却左孩子,则一定不是完全二叉树。如下图:2)一个节点有左孩子没

2021-04-13 20:58:09 4969

原创 有序二叉树的删除与遍历

1、二叉树的删除删除有序二叉树节点的时候需要注意,删除以后还是有序的。我这里遵循的是:左>根>右!!!二叉的删除分为三种情况分析,整体思路为:1)被删除的节点没有孩子没有孩子的情况最好分析,直接删除该节点,不会影响二叉树的顺序,删除后其还是有序的。2)被删除的节点有一个孩子(左孩子或者右孩子)需要寻找到被删除节点的父节点,将被删除节点的孩子与其父节点连接。3)被删除的节点有2个孩子需要找到被删除节点的父节点,以及整颗树中最小的节点。将最小的节点与被删除的节点进行数据互换,然后删除

2021-04-08 11:37:56 370

原创 二叉树

1、二叉树2、二叉树的特点1)每个节点最多有两颗子树。2)左子树与右子树是有顺序的。3)树中需要区分左、右子树。3、几种特殊的二叉树1)满二叉树:在一棵二叉树中如果所有分支节点都存在左右子树,并且所有叶子都在同一层上。2)完全二叉树个人理解是:完全二叉树的所有节点与同样深度的满二叉树,它们按照层序编号相同的节点是一一对应的,且编号是连续的。就称之为完全二叉树。满二叉树一定是一个完全二叉树,反之则不一定成立。4、二叉数的性质1)在二叉数的地i层最多有2^(i-1)个节点。2)深度为K

2021-04-07 15:07:51 111 1

原创 无序树中节点的插入

1、树的基本知识树的介绍各种树2、树的插入(利用链表实现)关于树的插入,逻辑上较为简单,但是实现起来较为复杂简单。首先,为新的节点开辟一块内存,并将所有数据置为空,接着将需要插入的数据赋给新节点指向的数据。接下分为2种情况分析:1、根节点已经存在;2、根节点不存在。当根节点不存在,则将插入的节点作为根节点。当根节点已经存在,接着就是需要寻找插入节点前一个节点数据目前在哪里。这里又分为2种情况:1、可以找到;2、不可已找到。当可以找到,判断该节点是否有子节点,有子节点就插入到子节点末尾。没有子

2021-04-06 19:04:03 136

原创 数据结构中的二种典型查找方式

1、二分查找与插值查找二者唯一不同的是中间值的取值方式不同。二分查找是每次折半取值去缩小搜索范围,而插值查找则是int mid = left+(right - left)*(findData - Arr[left]) / (Arr[right] - Arr[left]);插值查找2、代码展示-利用递归实现// 查找练习.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;

2021-04-06 10:37:10 389

原创 7种典型的排序算法-代码及原理说明

参考连接参考连接2// 排序算法1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;void SelectSort(int Arr[], int size);//选择排序void InsertSort(int Arr[], int size);//插入排序void ShellSort(int Arr[], int size);//希尔排序void CountSor

2021-04-06 09:44:13 90

原创 C++中几种排序算法小结(二)

4、计数排序与其他排序算法不同的是计数排序算法是利用数组下标来确定元素的位置。首先,遍历一维数组,从中找出最大值maxNum,接着开辟一块大小为maxNum+1的内存,用于存放计数数组并将计数数组中所有元素置为0。然后,每一个整数按照值对号入座,也就是说第一整数为5,则5所对应的下标元素加1,以此类推,遍历整个原数组。最终计数数组中的每一个值,就代表了对应整数出现的次数。遍历整数数组,输出元素下标值,其值是几就输出几次。快速排序取值范围较小的情况下使用效率更高。参考链接void CountSort

2021-04-05 10:46:56 104

原创 C++中几种排序算法小结(一)

C++中几种排序算法小结**加粗样式1、选择排序从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。void SelectSort(int Arr[],int size){for (int i = 0; i < size-1; i++)//遍历数组下标 从0开始{int index = i;for (int j = i+1; j < size; j++){if (Arr[index]>Arr[j]){

2021-04-04 21:10:40 105 1

在线安装Qt(全网最详细图文版)-以Qt5.15.2 Windows版为例

以Qt5.15.2 Windows版为例不一个安装步骤都有详细的图文描述,可满足您在线安装任意一个版本的QtCreator。

2023-08-18

C++中的类与对象知识

学习C++的一个基本知识框架

2023-03-14

Staff Management System.zip

职工管理—系统

2021-05-31

project.zip

利用QT实现金币翻转的小游戏

2021-05-13

Fusion of Texture, Color and Gradient Information for Stereo Matching Cost .pdf

改进了快速自适应窗口匹配算法,采用 SAD 计算颜色特征、梯度特征和纹理特征信息并分配不同权重作为匹配代价

2020-06-03

基于双目视差测距的实现.pptx

这一个基于双目视差测距的PPT,很适合实验室、研究所等各个场合的汇报。PPT中包含了测距的背景、测距原理、整体的思路、所用方法(BM)、以及最终的结果的展示。希望可以帮助到大家。因本人学术有限,不免出现一些错误,希望各位大佬多多提出意见。若有人想要关于本PPT的代码,可以评论向我要哦。

2020-06-02

基于动态规划的立体匹配代码

基于动态规划的立体匹配代码-使用MATLAB实现。此代码已经将各个参数调试完毕,下载后可直接运行。在学习的道路上希望大家相互帮助。。。这是第一次上传代码,若大家喜欢的话在后期还会继续上传一些立体匹配的源代码,供大家学习与参考。

2020-05-29

boykov2001.pdf

我们提出了两种基于图割的算法,可以有效地找到两类大移动的局部最小值,即α扩展移动和α-β交换移动。这些移动可以同时改变任意大的像素集的标签。相比之下,许多标准算法(包括模拟退火算法)使用小的移动,每次只改变一个像素的标签。我们的扩展算法在全局最小值的已知因子内找到一个标记,而我们的交换算法则处理更一般的能量函数。实验证明了该方法在图像恢复、立体视觉和运动识别等方面的有效性。在有ground truth的真实数据上,我们达到了98%的准确率

2020-05-25

基于图割的立体匹配算法(代码)

由Kolmogorov代码重写的软件可在本文的IPOL网页上找到。一组立体对是可用的,Kolmogorov和Zabih的算法可以在网上试用。在演示中,为了提高效率,算法在6个重叠的图像切片上运行。从本质上讲,还需要两个参数:K数据阻塞成本和λ有关忠诚。默认情况下,它们是自动调优的,但是可以调整它们以获得更好的结果。

2020-03-26

空空如也

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

TA关注的人

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