自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 STL容器删除迭代器问题分析

删除容器迭代器是一个需要斟酌的动作,务必谨慎否则会带来意想不到的危险,下我们就一起分析分析两大类容器删除迭代器的正确开启方法:转载于:添加链接描述导致迭代器失效的原因一般有两种:1、迭代器对象已经变成了“野指针”,对其进行*,++,–都会引起程序内存操作异常。2、迭代器对象所指向的内容已经不是所期望的内容,也被称为迭代器失效。顺序容器(如:vector,string,deque和list)关联容器(如:set,map)两种容器在使用erase()函数时是有不同的。1.顺序容器的erase函数

2021-10-26 08:48:49 315

原创 光流法追踪动态目标算法,上一篇博客中的算法的改进版本

// Farneback dense optical flow calculate and show in Munsell system of colors// Author : Zouxy// Date : 2013-3-15// HomePage : http://blog.csdn.net/zouxy09// Email : [email protected]// API calcOpticalFlowFarneback() comes from OpenCV, and this// 2

2021-03-25 16:26:41 348

原创 利用opencv中的LK光流实现动态目标跟踪

注意了 :本代码是在《OpenCV3编程入门》书籍中代码的基础上进行改进的,从而实现对一文件夹下的数据集图片中的动态目标进行跟踪,代码如下,包含了部分注释:// 程序描述:来自OpenCV安装目录下Samples文件夹中的官方示例程序-利用光流法进行运动目标检测// 描述:包含程序所使用的头文件和命名空间#include <opencv2/video/video.hpp>#include <opencv2/highgui/highgui.hpp>#include <

2021-03-23 14:27:45 530 2

原创 No module named catkin.builder报错-解决

Traceback (most recent call last): File "/opt/ros/kinetic/bin/catkin_make", line 13, in <module> from catkin.builder import apply_platform_specific_defaults # noqa: E402ImportError: No module named catkin.builder解决方案:在报错终端输入如下命令:source /o

2021-02-12 20:07:34 2311 1

原创 c++实现文件的读、写,具体使用,使用了一个案例,即将一个.log后缀的文件的内容,进行了读,并且将需要的内容重新写入到另外一个.log文件,具体操作见图

原始.log文件:修改后的.log文件:简单来说,就是我把所有重复比较以及相同图像进行比较的图像对信息给删除了,保留不重复的比较信息以及非同一张图像保留的情况,具体代码在下面给出,涉及了基本的文件读写操作,以及string字符串比较大小的操作!!!!!!#include<iostream>#include<fstream>#include<sstream>#include<string>using namespace std;//如果s1大

2021-02-04 14:37:08 235

原创 使用c++和opencv将某一文件夹下的图片保存并且重命名至目标文件夹中,其中涉及到生成固定位数的命名的技巧,例如 001 002 003 004...

#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(int argc, char *argv[]){ String path = "D:\\Whhuo-Siamese-pytorch-master\\Siamese-pytorch\\datasets\\temp\\";//打开源文件夹 vector<String> v;

2021-02-03 18:32:45 453

原创 python批量生成文件夹,且文件夹的命名格式为0000001 0000002 ... 0000012等,也就是说总位数为7,不足的前面填写0

#批量生成文件夹,且文件夹的命名格式为0000001 0000002 ... 0000012等,#也就是说总位数为7,不足的前面填写0import osimport sysdef MkDir(): path = 'D:\\Whhuo-Siamese-pytorch-master\\Siamese-pytorch\\datasets\\images_background\\'#创建文件路径 i = 0 for i in range(200): #创建文件个数

2021-02-03 11:07:59 225

原创 利用python3.6和opencv,实现顺序读取文件夹下的1.jpg 2.jpg ..等,否则只用sort是实现不了的

```python#利用python3.6和opencv,实现顺序读取文件夹下的1.jpg 2.jpg ..等,否则只用sort是实现不了的,# 注意sort中的lambda函数起到了关键作用import cv2import globimport osmy_path = "D:\\Whhuo-Siamese-pytorch-master\\Siamese-pytorch\\img"#指定图片文件夹的路径imgList = os.listdir(my_path)#将文件夹下面的所有文件(图片.

2021-02-02 19:13:17 291

原创 使用opencv3.x读取某文件夹下的所有图片,并保存奇数张图片到指定的文件夹,环境为windows10 + vs2017 + opencv3

#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(int argc, char *argv[]){ String path = "D:\\迅雷下载\\Images\\Images\\";//打开源文件夹 vector<String> v;//注意类模板的类型为String,不是string glob(path, v)

2021-02-02 10:10:26 125

原创 C++.h文件和.cpp文件连接不上 ,1 个无法解析的外部命令

转发自这位老哥 :https://blog.csdn.net/weixin_40676516/article/details/84643105,调试几天代码,竟然因为在cpp中加了inline而一直没有编译通过,真痛苦,不得不怀疑自己,看了这篇博客,才不由得恍然大悟,感谢博主!!!!解决方法一:同时存在.h和.cpp,cpp中函数已经定义,依旧提示无法解释的外部符号VS中对文件有中表示,可以通过选中.h或.cpp文件,右键,属性–通常–项类型中C/C++标头是针对头文件的,C/C++编译器是针对cp

2021-01-17 09:58:31 1709 1

原创 剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。/** * Definition for singly-lin

2020-08-10 22:13:03 75

原创 剑指 Offer 22. 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-

2020-08-10 21:16:29 67

原创 剑指 Offer 59 - II. 队列的最大值

请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入:[“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front”,“max_value”][[],[1],[2],[],[],[]]输出: [null,null,null,2,1,2]示例

2020-08-09 11:16:17 96

原创 剑指 Offer 30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.min

2020-08-08 22:20:47 77

原创 剑指 Offer 39. 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof著作权归领扣网络所有

2020-08-08 20:57:36 72

原创 剑指 Offer 15. 二进制中1的个数

请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 0000000000000

2020-08-08 15:07:46 73

原创 剑指 Offer 10- II. 青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-

2020-08-08 11:41:44 73

原创 剑指 Offer 45. 把数组排成最小的数

输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”提示:0 < nums.length <= 100说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl

2020-07-19 22:18:44 50

原创 剑指 Offer 40. 最小的k个数

输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length <= 100000 <= arr[i] <= 10000来源:力扣(LeetCode)链接:https://lee

2020-07-15 23:04:46 90

原创 剑指 Offer 09. 用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“appendTail”,“ap

2020-07-13 21:41:55 86 1

原创 leetcode刷题之旅-155. 最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,null,-3,

2020-06-23 21:01:03 92

原创 leetcode刷题之旅-232. 用栈实现队列

使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); // 返回 false说明:你只能使用标准的栈操作 – 也就是

2020-06-23 20:27:45 89 1

原创 leetcode刷题之旅-225. 用队列实现栈

使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。你可以假设所有操作都是有效的(例如, 对一个空的栈不

2020-06-23 20:05:52 110

原创 leetcode刷题之旅-86. 分隔链表

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partition-list著作权归领扣网络所有。商业转载请联系官方授权,非

2020-06-22 09:33:14 98

原创 leetcode刷题之旅-142. 环形链表 II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:t

2020-06-22 08:07:52 140

原创 leetcode刷题之旅-160. 相交链表

编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1

2020-06-21 10:22:14 94

原创 leetcode刷题之旅-92. 反转链表 II

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2020-06-21 09:04:31 93

原创 leetcode刷题之旅-206. 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解参照这个大神的视频,真心不错!!->算法

2020-06-21 08:31:46 75

原创 leetcode刷题之旅-69. x 的平方根

实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sqrtx著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解:抓住一

2020-06-10 21:51:49 153

原创 leetcode刷题之旅-66. 加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plus-one著作

2020-06-08 22:12:04 84

原创 leetcode刷题之旅-58. 最后一个单词的长度

给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/length-of-last-word著作权归领扣网络所有。商业转载请联系官方授权,非商业转载

2020-06-08 21:28:07 110

原创 leetcode刷题之旅-38. 外观数列

「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串

2020-06-07 22:28:48 73

原创 leetcode刷题之旅-35. 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-inser

2020-06-05 22:46:48 113

原创 ubunto18.04 opencv多版本共存问题

以前的那篇关于多版本共存的博客就不要看了,直接看这一篇吧,以前的那一篇应该是有问题!!!!!!1、首先到官网下载opencv3.4的源码包,然后解压缩2、先安装依赖//依赖库sudo apt-get updatesudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-

2020-06-05 10:31:30 1459 1

原创 leetcode刷题之旅-27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2,2,3,0,4,2]

2020-06-04 22:01:09 83

原创 leetcode刷题之旅-21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解: 注释写的比较清楚了!!!!另外附上B站的视频

2020-06-04 21:08:15 118

原创 leetcode刷题之旅-28. 实现 strStr()

实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对

2020-06-03 21:27:30 89

原创 leetcode刷题之旅-14. 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网络所有。商业

2020-06-03 21:02:05 87

原创 leetcode刷题之旅-26. 删除排序数组中的重复项

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的

2020-06-02 22:37:48 138

原创 leetcode刷题之旅-13. 罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况

2020-06-01 21:06:21 101

空空如也

空空如也

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

TA关注的人

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