自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 OpenCV3读入图片,imshow无法显示的问题

关于OpenCV3中读入图片后,显示为灰色的问题环境:OpenCV 3.4.1 +VS2015+Windows x64注意:根据其他博文的说法,VS2015与OpenCV v14版本对应,所以配置环境时请注意。先上图看一看是什么情况吧:本人在网上看了很多博文以后,发现普遍的解释是:图片未找到,图片读取失败等,针对于此问题,本人做了如下尝试: Mat srcImage = imread...

2020-05-04 12:29:53 1080 1

转载 VS2017禁用strcpy函数的解决办法

今天,在VS2017上写了一段代码,用到了strcpy()函数,编译不过。以前在用Codeblocks时,可以编译运行,在VS2017上报的错误如下:错误 C4996 ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CR...

2020-04-07 19:23:40 3590 3

原创 Leetcode(73):矩阵置0

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]一个直接的解决方案是使用O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额...

2020-03-22 21:30:22 143

转载 Mat属性type,depth,step

在OpenCV2中Mat类无疑使占据着核心地位的,前段时间初学OpenCV2时对Mat类有了个初步的了解,见OpenCV2:Mat初学。这几天试着用OpenCV2实现了图像缩小的两种算法:基于等间隔采样和基于局部均值的图像缩小,发现对Mat中的数据布局和一些属性的认知还是懵懵懂懂,本文对Mat的一些重要属性和数据布局做一个总结。Mat的作用The class Mat represents an...

2020-03-04 21:12:06 1601

转载 几种多核并行编程方法的比较

随着多核时代的到来与流行,传统的单线程串行程序的编程模式必将改变,取而代之的将是并行编程。目前已经有五种主要并行编程模型,下面将对此五种模型进行概括性的分析与比较:MPIMPI(Message Passing Interface)消息传递接口是MPI论坛发布的一个库,而不是一门实现语言,支持C/C++/Fortran。是一种消息传递编程模型,为进程间通信服务。MPI提供了一种与平台无关,可...

2020-02-20 11:49:38 1970

原创 C与指针 第六章学习笔记

C与指针的第六章介绍了指针,包含指针定义、指针类型、空指针、间接引用和自增操作符作用于指针、指针运算等内容。经查漏,要补缺的点如下:1.声明指针不会自动分配内存,在对指针执行间接访问前,指针必须进行初始化,要么指向现有内存,要么动态分配;2.指针常量(int * const p)在定义时必须初始化,指针所指的内容可修改,但指针不能指向别处。指针常量用的较少,访问I\O端口时会用到,将一个整数强...

2020-02-15 23:38:30 117

原创 C与指针 第五章学习笔记

C与指针的第五章介绍了操作符,包含算数(+、-、、/、%)、移位(>>、<<)、位(&、|、^)、(复合)赋值(+=、-=、=、/=、%=、<<=、>>=、&=、|=、 ^=)、单目(!、++、-、&、sizeof、~、–、*、(类型))、关系(>、>=、<、<=、!=、==)、逻辑(&&amp...

2020-02-15 20:32:35 104

原创 C与指针 第四章学习笔记

C与指针的第四章介绍了(do)while、for、if、switch、go等语句,以及break和continue对语句的控制。经查漏,要补缺的点如下:1.switch的每一条case都要加上break,否则switch的贯穿性会把每个case都执行到;2.switch需要有default;3.else与其距离最近的if进行匹配;4.多重循环嵌套时,break只影响包围它的最内层循环,若想...

2020-02-15 20:32:09 119

原创 C与指针 第三章学习笔记

C与指针的第三章介绍了数据类型和作用域的知识,经查漏,要补缺的点如下:static用于函数和位于任何代码块之外的变量时,不改变其存储性和作用域,只改变链接性,被static声明的函数只能在源文件内部访问;static用于代码块内部变量时,变量的链接属性和作用域不变,只改变存储类型。变量在程序执行之前创建,并在程序的整个执行期间一直存在,而不是在代码块开始执行前创建,在代码块执行完毕后销...

2020-02-10 21:00:18 102

原创 C与指针 第一章学习笔记

1)在添加现有.h和.cpp文件时,应先把.h和.cpp文件拷贝到当前VS工程的文件夹下(必要时可改名),再通过IDE添加。

2020-02-05 17:13:16 98

原创 C与指针 第二章学习笔记

1)问题描述:在实现课后习题2.8.2时(用栈实现括号匹配算法),想用cout在屏幕上打印提示输入的语句,用了using namespace std,报错C2872: 不明确的符号is_empty()。分析:该函数是stack类的成员函数,用于判断栈是否为空,与std里定义的函数同名(),编译器不知道程序中要调用哪一个is_empty()函数,故报错。解决方法:注释掉using name...

2020-02-03 20:21:26 116

原创 手撕KCF代码

知识点:1)glob。glob在opencv3下,并且命名空间为cv::glob()能够直接调用,在官网中只说明了如下调用方式,并没有给出具体的例子。但通过使用可以知道函数目的是将pattern路径下的所用文件名存进result中。void cv::glob ( String pattern, std::vector< String > & result, bool rec...

2020-02-03 18:48:26 809

转载 C++ getline()函数用法

getline()函数是一个比较常见的函数。根据名字直接望文生义,就知道这个函数是来完成读入一行数据。下面就对C++ – getline()函数的用法说明,以及getline()函数作为while条件的问题,总结一下:在C++中本质上有两种getline函数:第一种:在头文件中,是iostream类的成员函数。第二种:在头文件中,是普通函数。///////////////////////...

2020-02-01 13:29:16 307

转载 C语言中双引号与单引号的区别

1、含义不同。用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此’s’的含义其实和十进制数115的含义是一致的。而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。例如:分别查看”yes”/’yes’/’ye’/’y’四种字符在内存中的存储形式,代码如下:int _tmain(int a...

2019-12-04 00:08:03 5842

转载 LeetCode(58): 最后一个单词的长度

Given a string s consists of upper/lower-case alphabets and empty space characters ’ ', return the length of last word in the string.If the last word does not exist, return 0.Note: A word is defined...

2019-12-03 23:57:15 85

转载 LeeTCode (67):二进制求和

Given two binary strings, return their sum (also a binary string).For example,a = “11”b = “1”Return “100”.用了两个指针分别指向a和b的末尾,然后每次取出一个字符,转为数字,若无法取出字符则按0处理,然后定义进位carry,初始化为0,将三者加起来,对2取余即为当前位的数字,对2取商即...

2019-12-03 23:52:49 114

转载 VS中多进程调试如何调试?

首先创建的进程肯定有一个入口点,那么再这个入口点添加一个暂停、睡眠、模态对话框等操作,这样,新的进程启动的时候就会再这里停止,这样再使用附加进程操作就可以了。当然有人会说,如果进程是由于第三方库创建的呢,我无法改变入口函数怎么办?那么肯定也有办法,例如CEF库,多进程的浏览器,启动的时候,也是创建多个进程,这些进程的入口肯定是内部无法更改的,但是CEF,大神说提供了调试的参数,再入口添加参数,就...

2019-12-03 23:30:54 898

转载 一些常用的算法技巧总结

今天和大家讲讲,在做算法题时常用的一些技巧。对于平时没用过这些技巧的人,或许你可以考虑试着去看看在实践中能否用的上这些技巧来优化问题的解。巧用数组下标数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候,如果字母a遍历到,则arr[a]就可以加1了,即 a...

2019-12-01 20:00:30 112

转载 LeetCode(38):报数

报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112213122111 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整数 n(1 ≤ n...

2019-12-01 17:50:36 121

转载 LeetCode(24):两两交换链表中的节点

Given a linked list, swap every two adjacent nodes and return its head.You may not modify the values in the list’s nodes, only nodes itself may be changed.Example:Given 1->2->3->4, you sho...

2019-12-01 15:51:48 111

转载 递归算法总结

致敬:程序员老吴递归专题连续刷题半年,从小白到学会了套路,我来讲讲我的经验吧,如果你连递归都不知道是什么,那么大可不必看,但是如果你知道递归,但是不知道如何下手,那么请耐心看完,相信你 一定会有所收获。可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但...

2019-12-01 12:56:59 672

原创 LeetCode(122): 买卖股票的最佳时机 II

官方题解很棒!链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/solution/mai-mai-gu-piao-de-zui-jia-shi-ji-ii-by-leetcode/1)暴力法:每个数与其后面的所有数进行判断,找到每个峰谷后,再运用递归在子序列中找峰谷。理论正确,但OJ超时;2)峰谷法:...

2019-11-30 00:32:04 102

转载 LeetCode(28):实现strStr() 函数

实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba...

2019-11-30 00:16:29 122

转载 LeetCode(121):买卖股票的最佳时机

题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注...

2019-11-28 20:09:24 99

原创 LeetCode(119):杨辉三角 二

题目:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。要求:O(k) 空间复杂度。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]刚开始想按照上一题中生成杨辉三角的方式来做,最终输出某一行即可,但这样做的复杂度不是 O(k) 。进一步,只生成当前行和上一行,OJ还是通不过。class Solution {publi...

2019-11-27 23:29:43 150

转载 LeetCode(118):杨辉三角

难度等级:Easy。题目描述:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]解题思路:杨辉三角是二项式系数的一种写法,如果熟悉杨辉三角的五个性质,那么很好生成,可参见http://www.c...

2019-11-27 21:50:17 119

转载 【STL】vector的五种构造函数

vector的五种构造函数, 例子摘自MSDNvoid test_vector_constructor(){// 0. Create an empty vector v0std::vector v0;assert(v0.empty());// 1. Create a vector v1 with 3 elements of default value 0std::vector<...

2019-11-27 21:45:58 1883

转载 C++ vector中的resize,reserve,size和capacity函数讲解

前言在介绍resize(),reserve(),size()和capacity()函数之前,先简单介绍一下c++中vector的概念。vector:顺序容器(可变大小数组)。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢。既然vector是个容器,那么一定相关特性,如添加元素、删除元素和查询容器大小等操作。本文重点介绍vector中的resize(),reserve(),size(...

2019-11-27 21:44:40 270

转载 LeetCode Binary Search Summary 二分搜索法小结

二分查找法作为一种常见的查找方法,将原本是线性时间提升到了对数时间范围,大大缩短了搜索时间,具有很大的应用场景,而在 LeetCode 中,要运用二分搜索法来解的题目也有很多,但是实际上二分查找法的查找目标有很多种,而且在细节写法也有一些变化。之前有网友留言希望博主能针对二分查找法的具体写法做个总结,博主由于之前一直很忙,一直拖着没写,为了树立博主言出必行的正面形象,不能再无限制的拖下去了,那么今...

2019-11-22 23:23:46 89

原创 vector常用知识点

梳理对自己比较陌生的vector知识点1.迭代器语法:vector vec;vector ::iterator it;for(it=vec.begin();it!=vec.end();it++)2.首元素:vec.front()尾元素:vec.back()3.添加一个元素:vec.insert(i, a); //在第i个元素前添加a,即vec[i-1] = a;...

2019-11-20 21:10:02 151

原创 FALSE/TRUE与false/true的区别

在程序中总是碰到FALSE/TRUE和false/true,傻傻分不清楚,之前一直误认为FALSE和false、TRUE和true是通用的,但又总觉得二者有差异。今天得闲,抽空在网上搜了一下,感觉都没说明白,最后在《C++ primer plus》上找到了答案。false/true定义:false/true是bool型变量,C++独有,一般将非零值看做true,将零值看做false。赋值...

2019-11-19 21:54:31 5159

原创 线程和进程

问题:因需移植的代码较为复杂,下位机要采用多核方案,上位机为与下位机保持一致,用多线程来模拟多核。所以,来学习线程和进程的相关知识。为什么是多线程而不是多进程?不选多进程,主要是因为:操作系统每次都会为进程分配4GB的虚拟内存空间(即在磁盘上划出一片区域来当内存使,可以在电脑->高级->虚拟内存中设置)。若创建多进程,内存开销较大。而线程是使用进程的内存空间,多个线程可以共...

2019-11-17 22:29:44 87

转载 VS程序的相对路径

-转载链接:https://blog.csdn.net/qq_37469992/article/details/79419815问题:把opencv的.h和.lib文件夹添加到VS工程文件夹下,想将.h和.lib的引用路径设置为相对路径,这样换一台电脑跑程序就不用再设置路径了。解决方法:使用相对路径。相对路径里面的“相对”实际上指的是以工程文件XXX.vcproj为起点进行计算的路径。...

2019-11-17 21:40:29 1134

转载 LeetCode(15):三数之和题解 && Bug:AddressSanitizer: heap-buffer-overflow

暴力法搜索为 O(N^3)) 时间复杂度,可通过双指针动态消去无效解来优化效率。双指针法铺垫: 先将给定 nums 排序,复杂度为 O(NlogN)。双指针法思路: 固定 33个指针中最左(最小)数字的指针 k,双指针 i,j 分设在数组索引 (k, len(nums)) 两端,通过双指针交替向中间移动,记录对于每个固定指针 k 的所有满足 nums[k] + nums[i] + nums[j...

2019-11-17 20:06:04 401

空空如也

空空如也

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

TA关注的人

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