自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Qt使用多线程实现反复打开关闭相机

需求:需要用Qt实现调用外接相机,实现打开和关闭,我把打开相机获取视频流放在子线程中,主线程主要是控制相机(子线程)的开关和视频的显示。我使用的是Qt5.15.2+vs2019。

2024-04-16 20:46:29 234

原创 QUdpSocket接收数据丢包问题

项目需求要用QT做一个上位机,使用QUdpSocket接收相机采集的数据,数据是实时传输的,会出现大量丢包,刚开始以为是处理不过来,就去掉了后边的数据处理,只进行接收,虽然丢包率降低了,但是还是会丢包。相机是甲方调试好的,人家给的Python的程序就可以不丢包的接收数据。发送方的速度太快,qt来不及接收,我在csdn看到一些博主说,qt的udp在window下不太支持。用QUdpSocket只进行接收不处理数据,看下边的代码,这样会丢包。这个问题搞了一个多星期,尝试了好多办法,终于搞定了,太开心了!

2024-01-23 19:02:51 590 1

原创 vtk第六章 基本的图形操作

测地距离:两个点沿着模型表面两者之间最短距离,使用vtkDijkstraGraphGeodesicPath类实现测地距离的计算包围盒:vtkOutlineFilter提供一个方法来生成包围盒,输入是一个vtkPolyData模型数据,输出为vtkPolyData数据,只需要将其作为vtkPolyDataMapper的输入,建立可视化管线即可显示。

2024-01-05 10:25:56 796 1

原创 day17 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和

遇到左叶子节点的时候,记录数值,然后通过递归求取左子树左叶子之和,和右子树左叶子之和,相加就是整个树的左叶子之和。节点A的左孩子不为空,但是左孩子的左右孩子都为空(说明是叶子节点),A节点的左孩子就是左叶子节点。传入根节点,记录每一条路径的path,存放最后结果的result,这里的递归不需要返回值。需要判断是否是树的左叶子节点,所以一定要传入树的根节点,返回的是数值之和。高度:从该节点到叶子节点的最长简单路径边的条数(从下到上查,使用后序)遇到空节点终止,返回0,表示当前节点为根节点的树的高度为0。

2023-11-02 20:45:12 39

原创 day16 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

确定单层递归的逻辑:先求它的左子树深度,再求右子树深度,最后取左右子树最大的数组再+1(+1是要计算上当前父节点)深度:从根节点到叶子节点(**使用前序(中左右)**从上到下,取决于深度从0还是1开始)高度:从叶子节点到根节点(**使用后序(左右中)**从下到上,取决于高度从0还是1开始)中间的处理过程返回给父节点,父节点就知道孩子的高度,再+1,就是二叉树的高度。确定递归函数的参数和返回值,参数传入的是树的根节点,返回值是int类型。最小深度:从根节点到最近叶子节点的最短路径上的节点数量。

2023-10-31 21:21:49 49 1

原创 day15 二叉树

翻转二叉树使用前序和后序都可以,不能使用中序,中序在翻转左子树的节点之后,又经过中间节点的翻转,左子树和右子树交换位置,原来的左子树又一次翻转,而原来的右子树没有改变。右视图其实就是每一层最后的节点值,刚开始理解错了,以为是右节点的元素值,遍历每层时,弹出最后一个就行。思路:比较的是左子树和右子树,在遍历的过程中,需要同时遍历两棵树。节点为空的情况有:(左、右节点不是左右孩子,指的是左右子树)还是模板,在添加字节点值时添加的是一个节点的多个孩子。先放入根节点,再将根节点弹出队列之后,再放入子节点。

2023-10-30 16:32:19 36 1

原创 day14 二叉树的递归遍历

确定哪些参数是递归过程中需要处理的,那就在递归函数中加上这个参数,并且需要明确每次递归的返回值是什么进而要确定函数的返回类型。:操作系统用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然会溢出。:就是要确定每一层递归需要做什么。

2023-10-25 21:27:21 26 1

原创 day13 239. 滑动窗口最大值

每次窗口中k个数值,push进去的元素要比前面的元素都大,就需要把前面的元素都pop出去,直到最大的放在出口的位置。不太理解程序中的小顶堆排序的地方,小顶堆和优先级队列的联系。大根堆:每个父节点元素都要大于子节点元素。小根堆:每个父节点元素都要小于子节点元素。单调队列:单调递减或者单调递增的队列。思路能看懂,代码实现有点难,啊啊啊。

2023-10-25 15:54:44 33 1

原创 day11 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

当时一直不太明白这个地方),如果st.top()==s,说明实现对对碰,如果st.top()!=s,说明没有对对碰接着遍历数组。和上一题都是相同的思路,在遍历数组时,将遍历过的元素存放在栈中(其实栈中的top()就是正在遍历的元素前面的,思路:在遍历前一半字符串的时候,在栈中放入匹配的括号,在遍历后一半后如果栈中为空,说明全部匹配上。平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 )。该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * )。

2023-10-24 10:52:11 17

原创 day10 232.用栈实现队列 225. 用队列实现栈

4321是que1 1是队列头 ,对于栈来说4就是头,要保证队列和栈的输出顺序一致,就可以先把321放在que2中,然后输出4。:将队列的头部位置(除了最后一个元素)重新添加到队列末尾(也就是再队列中颠倒元素的顺序,变得和栈一样):两个队列que1和que2实现队列的功能,que2其实完全就是一个备份的作用。用两个栈模拟队列,一个是输入栈 一个是输出栈。

2023-10-23 20:16:38 31

原创 day7 第454题.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

nums[i]为确定值(相当于三数中的第一个for循环),依然是循环内有left和right下标作为双指针,找出nums[k] +nums[i] + nums[left] + nums[right] == target的情况。三数之和是一层for循环num[i]为确定值,然后循环内有left和right下标作为双指针,找到nums[i] + nums[left] + nums[right] == 0。四数之和两层for循环nums[k] +

2023-10-21 21:46:06 25 1

原创 day6 242.有效的字母异位词 349. 两个数组的交集 第202题. 快乐数 1.两数之和

std::set和std::multiset底层实现都是红黑树,std::unordered_set的底层实现是哈希表, 使用unordered_set 读写效率是最高的,并不需要对数据进行排序,而且还不要让数据重复,所以选择unordered_set。思路:创建一个数组作为哈希表,将s字符的元素对应到哈希表中(26个字母对应26个元素,有哪个字母该元素就+1),再将t字符串的元素对应到哈希表中(有哪个字母,对应的数组元素就-1),最后检查,如果数组的元素都是0,就输出true,否则输出false。

2023-10-19 19:39:06 55 1

原创 day4 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II

思路:建议使用虚拟头结点,这样会方便很多,要不然每次针对头结点(没有前一个指针指向头结点),还要单独处理。最关键的就是要搞清楚。思路:两个链表,找到从哪里开始寻找交点。看不懂,第一次学链表,好难呀,好难呀。思路:使用虚拟头节点,双指针(

2023-10-17 21:46:40 15

原创 day3 203.移除链表元素 707.设计链表 206.反转链表

链表知识点:结构:每一个节点由数据域和指针域(存放下一个节点的指针)组成,最后一个节点的指针指向null链表的储存方式:不是连续分布的(数组是连续的),链表是通过指针域的指针链接在内存中各个节点。使用初始化节点,注意需要删除节点(删除之后的要手动释放)只要将C节点的next指针 指向E节点就可以了,再手动释放这个D节点,释放这块内存。添加节点。

2023-10-16 21:37:28 22 1

原创 代码随想录算法训练营第二天| 977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II

题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/文章讲解:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html视频讲解: https://www.bilibili.com/video/BV1QB4y1D7ep。

2023-10-13 21:06:02 29

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

思路:数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。首先想到的是两层for循环,比较麻烦,采用双指针解决问题。

2023-10-12 20:24:56 45

原创 深蓝学院古月居第四讲——TF广播器监听器程序注释

/** * 该例程产生tf数据,并计算、发布turtle2的速度指令 */#include <ros/ros.h>#include <tf/transform_broadcaster.h>#include <turtlesim/Pose.h>std::string turtle_name;//turtle1或者turtle2的位姿发布出去之后,得到位姿信息,就会执行回调函数void poseCallback(const turtlesim::Po.

2022-05-06 22:27:53 429 1

原创 深蓝学院古月居第四讲——ros常用组件笔记

1.Launch启动文件Launch启动文件:通过XML文件实现多节点的配置和启动(可自启动ROS Master,不用再打开终端启用roscore)这是一个简单的launch文件(启动节点):<launch> <node pkg="learning_communiaction" type="perosn_subscriber" name="talker" /> <node pkg="learning_communiaction" type="per

2022-05-06 22:27:26 429 1

空空如也

空空如也

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

TA关注的人

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