自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 栈和队列的定义和特点

栈和队列的定义和特点

2022-11-05 11:10:37 158 1

原创 循环链表-双向链表

双链表结构

2022-11-02 09:49:50 125

原创 线性表(顺序存储)

线性表(顺序存储)

2022-10-25 10:02:05 256

原创 时间空间复杂度

时间空间复杂度

2022-10-19 20:01:07 218

原创 抽象数据类型的表示与实现

抽象数据类型的表示与实现

2022-10-19 10:36:49 264

原创 QT字符串及窗口类

QT字符串及窗口类

2022-10-12 16:31:51 214

原创 Qt基本控键

Qt基本控键

2022-10-04 10:33:53 746

原创 信号与槽机制

信号与槽机制

2022-09-30 10:49:34 567

原创 Qt窗口及控件原理控制

Qt窗口及控件原理控制

2022-09-25 10:26:37 132

原创 QMessageBox技巧详解

QMessageBox使用

2022-09-24 13:13:53 2333

原创 ROS 发布者Publisher的编程实现

如何实现一个发布者:初始化ROS节点;向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型;创建消息数据;按照一定频率循环发布消息

2021-12-22 14:50:57 169

原创 利用RDM速度投影法提取微多普勒时频图

0 关于微多普勒雷达发射电磁信号(EW)到物体并接受物体的回波信号。基于接收信号的延迟时间,雷达可以测量目标的距离。如果物体是移动的,接受信号的频率将偏离发射信号的频率,成为多普勒效应。多普勒频移取决于移动物体的径向速度,即在视线方向上的速度分量。基于接收信号的多普勒频移,雷达可以测量动目标的径向速度。如果除了主体移动外,物体或物体的任何结构部件还在摆动,则这种摆动将在回波信号上引起附加的频率调制。这种附加的多普勒调制成为微多普勒效应。1 实验环境本次处理的是采用TI AWR1843采集的数据。每个c

2021-10-13 15:42:30 4345 4

原创 演讲比赛流程管理系统

1 比赛规则学校举行异常演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。每名选手都有对应的编号,如10001-10012比赛方式:分组比赛,每组6个人第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲。十个评委分别给每名选手打分,去除最高分和最低分,求的平均分为本轮选手的成绩当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮的比赛。第二轮为决赛,前三名胜出每轮比赛过后需要显示晋级选手的信息2 程序功能开始演讲比赛:完成整届比赛的流程,每个比

2021-09-30 10:20:11 171

原创 错误使用 signalwavelet.internal.convenienceplot.plotTFR的解决方案

在进行微多普勒效应仿真实验,提取光谱图时出现错误使用 signalwavelet.internal.convenienceplot.plotTFR的错误。随之出现的还有**“D:\Polyspace\R2019b\toolbox\shared\signalwavelet\signalwavelet+signalwavelet+internal+convenienceplot\plotTFR.m”**。打开相应文件夹发现文件如下查看代码如下:很显然该文件代码被修改,可以从其他能正常使用的matlab

2021-09-28 16:49:54 1022 1

原创 STL-常用算法

概述:算法主要是由头文件<algorithm> <functional> <numeric> 组成<algorithm> 是所有STL头文件中最大的一个,范围涉及比较、交换、遍历操作、赋值、修改等等<functional> 体积很小,只包括几个在序列上面进行简单数学运算的模板函数<numeric> 定义了一些模板类,用以声明函数对象1 常用遍历算法1.1 for_each#include <stdio.h&g

2021-09-27 11:00:33 61

原创 STL函数对象

1 函数对象1.1 函数对象概念概念:重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数1.2 函数对象使用特点:函数对象在使用是,可以像普遍函数那样调用,可以有参数,可以返回值函数对象超出普通函数的概念,函数对象可以有自己的状态函数对象可以作为参数传递#include <stdio.h>#include <iostream>#include <string&

2021-09-25 15:20:45 64

原创 C++多线程基础

1、并发、进程、线程的基本概念并发: 两个或多个独立的活动同时进行进程: 计算机中的程序关于某一数据集合上的一次运行活动(exe的运行状态)线程:1.每一个进程都有一个主线程并且只有一个主线程2. vs编译器中ctr+f5运行程序,实际上是主线程调用main函数的代码3. 线程可以为一个运行代码的通道,路径,我们可以自己创建多个线程并发的实现:1.多线程实现并发主要的问题进程间通信的问题No.1 一个电脑上:管道,文件,消息队列,内存共享No.2 不同电脑通过SOCKET网络通信实现2

2021-09-24 11:09:49 125

原创 mmWave studio加载.bin文件

打开mmWave studio,点击Sensorconfig,和PostProc点击PostProc弹出的窗口如下图所示,点击Load.bin此时页面如下图所示:加载自己的.bin文件

2021-09-19 15:06:03 940 1

原创 案例-员工分组

1、案例描述公司今天招聘10个员工(ABCDEFGHI),10名员工进入公司之后,需要指派员工在哪个部分工作员工信息有:姓名 工资组成;部门分为:规划、美术、研发随机给10名员工分配部门和工资通过multimap进行信息的插入key(部门编号) value(员工)分部门显示员工信息2、实现步骤1.创建10名员工,放到vector中2.遍历vector容器,取出每个员工,进行最近分组3.分组后,将员工部门编号作为key,具体员工作为value,放入到multimap容器中4.分部门显示员工

2021-09-17 15:49:50 155

原创 map/multimap容器

1、map基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质:map/multimap属于关联式容器,底层结构是用二叉树实现优点:可以根据key值快速找到value值map和multimap区别:map不允许容器中有重复key值元素multimap允许容器中有重复key值元素2、map构造和赋值功能描述:对map容器进行构造和赋值操作函数原型:构造:map<

2021-09-17 15:05:42 61

原创 set/multiset

1 set基本概念简介:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素2 set构造和赋值功能描述:创建set容器以及赋值构造:set<T> st; // 默认构造函数set(const set &st); // 拷贝构造函数赋值:set& operator=(const set &st);

2021-09-14 10:59:42 156

原创 list容器

1 list构造函数函数原型list<T> lst; // list采用模板类实现,对象的默认构造形式list(beg,end); // 构造函数将[beg,end)区间中的元素拷贝给本身list(n,elem); // 构造函数将n个elem拷贝给本身list(const list &lst); // 拷贝给构造函数#include <stdio.h>#include <iostream>#include <strin

2021-09-12 14:09:15 59

原创 queue常用接口

功能描述:栈容器常用的对外接口构造函数:queue<T> que; // queue采用模板类实现,queue对象的默认构造函数queue(const queue &que); // 拷贝构造函数赋值操作:queue& operator=(const queue &que); // 重载等号操作符数据存取:push(elem); // 往队尾添加元素pop(); // 从队头移除第一个元素back(); // 返回最后

2021-09-10 11:17:42 141

原创 stack常用接口

功能描述:栈容器常用的对外接口构造函数:stack<T> stk; // stack采用模板类实现,stack对象的默认构造形式stack(const stack &stk); // 拷贝构造函数赋值操作:stack& operator=(const stack &stk); // 重载等号操作符数据存取:push(elem); // 向栈顶添加元素pop(); // 从栈顶移除第一个元素top(); // 返回栈

2021-09-10 10:44:36 303

原创 qt5的qk2dview

1、 头文件(.h)1.1 boardlayer.h#ifndef BOARDLAYER_H#define BOARDLAYER_H#include "qk2dview.h"#include <QImage>class BoardLayer : public Qk2dViewLayer{public: BoardLayer(); const QImage& image() const { return m_image; } QTransfor

2021-08-30 13:36:21 240 1

原创 案例-评委打分

1.案例描述有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去掉最高分,去掉评委中最低分,取平均分。2.实现步骤1.创建5名选手,放到vector中2.遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中3.sort算法对deque容器中分数排序,去除最高分和最低分4.deque容器遍历一遍,累加总分5.获取平均分#include <iostream>#include <vector>#include &lt

2021-08-27 17:14:32 259

原创 deque容器

1.deque容器基本概念功能:双端数组,可以对头段进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度会比vector快vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理:deque内部有个中控器,维护每段缓冲区的内容,缓冲区存放真实数据中控器维护的是每个缓冲区的地址,使得使用deque时像一篇连续的内存空间deque容器的迭代器也是支持随机访问的2.

2021-08-27 16:32:11 75

原创 vector容器

1.vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别:不同之处在于数组是静态控件,而vector可动态扩展动态扩展:并不是在原空间之后继续新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。...

2021-08-27 09:09:27 61

原创 工作总结:使用QtCreator和OpenCV进行算子开发

0.基类algobase.h#ifndef ALGOBASE_H#define ALGOBASE_H#include "algorithms_global.h"#include <opencv2/opencv.hpp>class ALGORITHMS_EXPORT QkAlgoBase {public: QkAlgoBase(cv::Mat src, std::vector<cv::RotatedRect> rois, std::vecto

2021-08-26 09:13:07 215

原创 string容器

1.string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char*的区别:char是一个指针string是一个类,类内部封装了char,管理这个字符串,是一个char*型的容器特点:string类内部封装了很多成员方法string管理char*所分配的内存,不用担心复制越界等,由类内部进行负责2.string构造函数构造函数原型:string(); // 创建一个空的字符串,例如:string str;string(const

2021-08-24 13:43:10 127

原创 kMeans的OpenCV实现

#include <stdio.h>#include <opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ Mat src = imread("D:\\image\\distribution.JPG"); if (src.empty()) { printf("coult not load the image\n");

2021-08-23 15:14:44 136

原创 容器迭代器算法初识

1.vector存放内置数据类型容器: vector算法: for_each迭代器: vector::iterator#include <iostream>#include <vector>#include <algorithm> // 标准算法头文件using namespace std;// vector容器存放内置数据类型void myPrint(int val){ cout << val << endl;}

2021-08-23 11:23:06 128

原创 OpenCV入门代码总结

quickopencv.h#pragma once#include<opencv2/opencv.hpp>#include<string>using namespace cv;//using namespace std;class QuickDemo {public: void colorSpace_Demo(Mat &image); void mat_creation_demo(Mat &image); void pixel_vist_demo

2021-08-23 08:19:25 144

原创 类模板案例

案例描述:实现一个通用的数组类,要求如下:可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator=防止浅拷贝问题提供尾插值法和尾删法对数组进行增加和删除可以通过下标的方式问数组中的元素可以通过获取数组中当前元素个数和数组的容量...

2021-08-21 10:46:40 46

原创 OpenCV实现均值算子

0、算子描述算子接受一个旋转矩形作为ROI(兴趣区域),接受一个或者多个旋转矩形作为Masks(掩膜,掩膜遮蔽的像素不计入算子计算),所以有效检测区域为ROI减去Masks。计算有效检测区域内的像素平均值。将该像素平均值与参考值进行比较,若该像素平均值落与参考值的上下限百分比内,则算子返回true,否则返回false。注:所有ROI和mask的位置和角度都是相对于原图的图像坐标的。#include <opencv2/opencv.hpp>#include <iostream>

2021-08-18 13:01:12 623

原创 OpenCV绘制ROI区域

需求,拖动鼠标产生矩形,截取ROI区域。此绘制方式和大部分的方式不同。传统使用矩形框绘制必须要起点(sp)大于终点(ep),因此绘制矩形框只能如下。这是由于在OpenCV中矩形框的语法为Rect(x,y,dx,dy)。其中x,y为矩形的起点,dx,dy为矩形的长和宽。也就是说矩形框必须知道起点和矩形框的高和宽。为了解决这个问题,采用了line函数绘制矩形框,具体代码如下:#include<stdio.h>#include<opencv2/opencv.hpp>#incl

2021-08-12 21:04:57 2707 3

原创 Qt设计一个给图像打掩膜的界面

0、需求需求:找到符合要求的像素点,并且在将该像素点打上红色的掩膜注意:1.符号要求的像素点是一个区间,因此需要有Slinder(滑块槽)和SpinBox(旋钮)组件。Slinder组件用于进行粗调,SpinBox组件用于微调,因此还需要一个联动装置。2.Slinder-SpinBox联动的范围为(-1)-(255)。这和RGB三通道的取值范围有一些不一样,由于RGB三通道的取值范围为0-255,设置一个-1是为了多一个选择,当输入出现-1是认为输出的是原始图像,不打掩膜。3.Qt的格式和OPen

2021-08-09 14:28:54 670

原创 面向对象的Qt编程

0.面向对象的Qt编程完全不适用任何面向对象技术,而只是利用Qt所提供的类创建对象,并调用对象的接口以满足用户的需求是可能的,但这样构建的应用程序其功能必然是十分有限的。首先,Qt类保护成员中的诸多实现无法在类的外部被复用,Qt试图通过多态实现的很多机制,如事件处理,完全无法使用。再次,Qt提供的信号和槽不可能满足用户所有的需求,自定义信号和槽需要面向对象技术。最后,Qt设计师,Qt创造器等工具链都在以面向对象的方式使用Qt,反其道而行之不会有好结果。1.通过面向对象的编程思想实现加法计算器输

2021-08-07 09:04:23 322

原创 Qt的信号和槽

0.信号和槽的概念信号和槽是QT自行定义的一种通信机制,实现对象之间的数据交互。当用户或系统触发了一个动作,导致某个控件的状态发生了改变,该控件就会发射一个信号,即调用其类中一个特定的成员函数(信号),同时还可能携带必要的参数。槽和普通的成员函数几乎没有太多区别,可以是共有的、保护的或私有的,可以被重载,也可以被覆盖,其参数可以是任意类型,并可以像普通成员函数一样调用。槽函数与普通成员函数的差别并不在于其语法特性,而在其功能。槽函数更多体现为对某种特定信号处理,可以将槽和其他对象建立连接,这样当发

2021-08-06 15:16:12 1415

原创 一个简单的Qt代码演示

#include "widget.h"#include<QWidget>#include<QDialog>#include<QMainWindow>#include<QLabel>#include<QPushButton>#include<QTextCodec>#include <QApplication>int main(int argc, char *argv[]){ // 创建Qt应用程序对

2021-08-06 12:34:41 644

错误使用 signalwavelet.internal.convenienceplot.plotTFR的解决方案

错误使用 signalwavelet.internal.convenienceplot.plotTFR的解决方案,正确的plotTFR.m

2021-09-28

空空如也

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

TA关注的人

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