自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

minghui_的博客

路漫漫其修远兮,吾将上下而求索

  • 博客(34)
  • 资源 (14)
  • 收藏
  • 关注

转载 C/C++中堆和栈的区别

一、预备知识—程序的内存分配由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等。其操作方式类似于数据结构中的栈。2、堆区(heap):一般由程序员分配释放(malloc/free、new/delete),若程序员不释放,程序结束时可能由操作系统回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(stati...

2018-07-10 10:39:35 221

原创 剑指offer面试题(11)——旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组 {3, 4, 5, 1, 2} 为 {1, 2, 3, 4, 5} 的一个旋转,该数组的最小值为 1 。解题思路             最直观的做法是把旋转数组从前到后遍历一遍,其时间复杂度为 O(n)。很明显,这种解法效率较低。        主要代码如下...

2018-07-04 09:41:06 253

原创 剑指offer面试题(10)——斐波那契数列

题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下: 解题思路             在学C语言的时候课本上就有斐波那契数列,实现的方法是用最直观的递归,主要代码如下:long long Fabonacci(const int& num){ if (num == 1) return 1; if (num == 0) return ...

2018-06-25 21:33:27 284

转载 DLL简介与MFC DLL

        比较大的应用程序都是由很多模块组成的,这些模块彼此协作,以完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其他软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE 文件中,会产生一些问题。一是增加了应用程序的大小,这样会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另外,在编写大的EXE 程序时,...

2018-06-23 21:48:46 4744 1

转载 C++编程开发学习的50条建议

转自:http://www.jizhuomi.com/software/283.html每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少。本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路。下面列出这50条建议:        1、把C++...

2018-06-23 20:49:33 220

原创 剑指offer面试题(9)——用两个栈实现队列

        题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。        类的定义如下:template <typename T> class CQueue{public: CQueue(void); ~CQueue(void); ...

2018-06-23 19:52:18 161

原创 剑指offer面试题(8)——二叉树的下一个节点

        题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。        如下图所示的一颗二叉树,中序遍历序列是{d,b,h,e,i,a,f,c,g};下面将以这棵树为例。其中实线表示父节点指向子节点的指针,虚线表示子节点指向父节点的指针。        二叉树节点定义如下:struct B...

2018-06-20 22:02:00 178

转载 #ifdef _DEBUG/ #define new DEBUG_NEW/ #endif的作用

转自:#ifdef _DEBUG #define new DEBUG_NEW #endif的解释在用vc时,利用AppWizard会产生如下代码:[cpp] view plain copy#ifdef _DEBUG  #define new DEBUG_NEW  #undef THIS_FILE  static char THIS_FILE[] = __FILE__;  #endif  对于[cp...

2018-06-20 16:39:12 661

原创 剑指offer面试题(7)——重建二叉树

        题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建如下图所示的二叉树并输出它的头结点。        二叉树节点定义如下:struct BinaryTreeNode { int ...

2018-06-14 10:50:37 156

原创 QT+opencv学习笔记(6)——模板匹配

开发环境为:win10+QT5.8+opencv3.2         把不同传感器或同一传感器在不同时间、不同成像条件下对同一景物获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图中寻找相应模式的处理方法叫做模板匹配。        模板匹配的思想很简单:拿已知的模板,和原图像中同样大小的一块区域去对比。最开始时,模板的左上角点和图像的左上角点是重合的,将模板和原图像中同样大小的一块区域...

2018-06-12 17:05:43 1794

原创 剑指offer面试题(6)——从尾到头打印链表

        题目:输入一个链表的头结点,从尾到头反过来打印每个节点的值。链表节点定义如下:typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}*PNODE, NODE;解题思路        最直观的的做法是改变链表中链接节点的指针的指向,改变链表的方向,然后就可以遍历链表直接输出了。      ...

2018-06-06 17:19:45 204

原创 剑指offer面试题(5)——替换空格

        题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。解题思路        最直观的的做法是从头到尾扫描字符串,每次碰到空格字符的时候进行替换。由于把1个字符换成3个字符,所以必须把空格后面的字符都后移两个单位。例如字符串“We are happy.”,移动过程可由如下示意图表示:    ...

2018-06-05 19:36:34 195

原创 剑指offer面试题(4)——二维数组中的查找

        题目:在一个二维数组中,每一行都按照从左到右中,每一行都按照从左到右递增的顺序排序。每一列都按照从上到下的顺序排序递增的顺序排序。请完成一个函数,请输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。        例如下面的二维数组就是每行,每列递增的排序。如果在这个数组中查找数字7,则返回 true;如果查找数组 5, 由于数组不含数字,则返回 false。解题思路  ...

2018-06-04 21:23:14 211

原创 QT+opencv学习笔记(5)——霍夫直线检测、圆检测及椭圆检测

开发环境为:win10+QT5.8+opencv3.2      Hough变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛。最基本的Hough变换是从黑白图像中检测直线,还可以经过改进检测圆、椭圆、正方形等。本文主要实现Hough直线检测、Hough圆检测、Hough椭圆检测。一、读取图像         读取图像见QT+opencv学习笔记(1)——图像点运算,这里不再赘述。  ...

2018-06-03 20:04:28 10944 7

原创 剑指offer面试题(3)——数组中重复的数字

        题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。解法1:排序        将输入的数组排序,然后扫描排序后的数组即可。        排序算法时间复杂度:O(n...

2018-06-01 21:39:28 215

原创 QT+opencv学习笔记(4)——边缘检测、轮廓提取及轮廓跟踪

开发环境为:win10+QT5.8+opencv3.2      数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,图像分析和理解的第一步往往就是边缘检测。轮廓跟踪是获取图像的外部轮廓特征,为图像的形状分析做准备。本文主要实现图像边缘检测、轮廓提取、轮廓跟踪。一、读取图像         读取图像见QT+opencv学习笔记(1)——图像点运算,这里不再赘述。...

2018-05-29 22:08:59 29499 1

转载 C++11常用特性使用

转自:Plato,C++11常用特性的使用经验总结C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结。本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结、经验和感悟,整理出来,分享给大家,希望对各位读者有帮助,文章中的总结可能存在很多不完整或有错误的地方,...

2018-05-26 18:09:35 210

转载 剑指offer面试题(2)——实现Singleton模式

转自:我想有个长长的名字的博客,剑指offer 面试题2 Singleton模式 C++实现题目:实现Singleton模式​ 以下内容是我在看《剑指offer》的面试题2时,遇到的问题,因为书中使用C#实现,所以想用C++重新实现一下,Test方法不够全,后续还要完善。C++实现过程主要参考:C++设计模式——单例模式。​ 代码中的注释一般是我的笔记,或一些发现。​ PS: 感谢勤劳的慵懒君~~...

2018-05-26 09:35:05 1808

原创 QT+opencv学习笔记(3)——图像增强

开发环境为:win10+QT5.8+opencv3.2        图像增强的目的是采用某种技术手段,改善图像的视觉效果,或者将图像转换成更适合人眼观察和机器识别的形式。图像增强的基本方法主要有灰度变换、灰度均衡、伪彩色增强、平滑、锐化、滤波等。灰度变换、灰度均衡见QT+opencv学习笔记(1)——图像点运算,本文主要实现伪彩色增强、平滑、锐化和滤波。一、读取图像         读取图像见Q...

2018-05-25 21:07:57 2798

原创 剑指offer面试题(1)——赋值运算符函数

题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(void); void Print(); private: ...

2018-05-24 10:36:29 277

原创 QT+opencv学习笔记(2)——图像几何变换

开发环境为:win10+QT5.8+opencv3.2        将图像按照某种法则或规律变换成另一种几何图像的过程叫做图像的几何变换。通常包括图像平移、图像旋转、图像镜像变换、图像缩放等,本文主要实现图像平移、图像旋转、图像缩放。一、读取图像         读取图像见QT+opencv学习笔记(1)——图像点运算,这里不再赘述。二、图像平移         图像平移就是将图像上的所有点按照...

2018-05-23 17:58:29 1817

原创 QT+opencv学习笔记(1)——图像点运算

开发环境为:win10+QT5.8+opencv3.2一、读取图像         QT中显示图片的时候可以用QLabel也可以用GraphicsView,本文使用的是QLabel。但是需要注意的是在opencv中图像是以BGR的顺序存储的,所以在读取并显示彩色图片之前需要将其转换为正常的RGB顺序,然后再转换为QImage格式,才能在QLabel中显示。        主要代码如下:fileNa...

2018-05-21 20:31:57 3392

转载 QT内存回收机制

转自:乌托邦,Qt浅谈之一:内存泄露(总结)一、简介       Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系。在 Qt 中,在 Qt 中,删除父对象会将其子对象一起删除。       C++中delete 和 new 必须配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更...

2018-05-19 11:01:13 6834

转载 QT Creator快捷键

转自:jh1513,QT快捷键大全最全的快捷键。 自己可以在Qt软件中查看 快捷键及对应含义下载地址:http://download.csdn.net/detail/jh1513/9615209快捷键 功能 Esc 切换到代码编辑状态 F1 查看帮助(选中某一类或函数,按下F1,出现帮助文档) F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数,按下F2,迅...

2018-05-19 10:24:33 284

转载 QT5加载图片资源

  转自:lucky_vip,https://blog.csdn.net/lucky_vip/article/details/22328215        最近在学习Qt5,跟着《QT学习之路2》进行编码时,发现QICON怎么弄也没法加载图片,网上搜了半天,也牛头不对马嘴,后来尝试将整个路径进行加载,才发现问题所在。        相信还会有人继续遇到这类问题,所以在此把该情况解说一遍,也方便以...

2018-05-18 22:04:56 3272

原创 QT5中文乱码

  QT5在程序中设置控件名称时,中文字符会出现乱码。  解决办法是使用QTextCodec类。  首先在文件前面加上相应头文件和定义,#include <QTextCodec> //添加头文件QTextCodec *codec = QTextCodec::codecForName("GB2312");  然后在具体使用中文字符的地方加上字符的转换,ui->pushButton...

2018-05-17 22:16:27 168

转载 非比较排序算法

转自:http://www.cnblogs.com/eniac12/p/5332117.html  这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。  这里我们用到的唯一数据结构就是数组,当然我们也可以利用链表来实现下述算法。    计数排序(Counting Sort)   计数排序用到一个额外的计数数组C,根据数组C来将...

2018-05-17 20:13:08 328

转载 比较排序算法

转自:https://www.cnblogs.com/eniac12/p/5329396.html我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。  排序算法大体可分为两种:    一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。    另一种是非比较排序,时间复杂度可以达到O(n),主要有...

2018-05-17 20:09:43 166

转载 Image Watch查看小工具

转自:https://blog.csdn.net/u011574296/article/category/6167454在VS中用OpenCV进行开发时,调试经常需要去查看当前图像的内容(图像大小,通道数,鼠标所指像元在图像中的行列数和像素值),介绍一个配合VS使用的OpenCV开发神器——Image Watch。该插件现在支持较新版本的vs版本如:vs2012,vs2013,vs2015等。安装...

2018-05-08 15:00:58 1878 1

原创 QT5.8.0+OpenCV3.2.0环境配置

环境:win10(x64)+QT Create4.2.1+OpenCV3.2.0 网上看到的大多数是将OpenCV库cmake一下,个人觉得过程繁琐且容易出错,下载的opencv库已经提供了dll,所以可以直接进行配置。 QT的安装配置过程略,网上有很多教程。 首先配置一下opencv库的环境变量 不太清楚是什么原因,之前的根目录为C:\document\opencv3

2018-02-02 16:31:04 673 3

原创 matlab与opencv双目相机标定对比

之前听前辈说matlab标定更稳定,结果更准确,就分别用matlab和opencv标定了相机。matlab标定过程比较麻烦,左右相机各24张图片,提取角点时一张图片点四次,还要比较小心,自己体会。。。matlab的标定结果如下:opencv标定先使用cvCalibrateCamera2()函数对左右相机分别进行标定,再使用cvStereoCalibrate()函数进行立体标定。

2017-04-06 21:04:37 6535 11

原创 函数覆盖、函数隐藏与函数重载的区别

首先看函数覆盖。构成函数覆盖的条件:(1) 基类函数必须是虚函数;(2)发生覆盖;的函数必须要分别位于基类和派生类中;(3)函数名称与参数列表必须完全相同。再看函数隐藏。函数隐藏的两种情况:(1) ;

2017-03-23 14:38:50 867

转载 有所思,有所悟

1. 技术只是解决问题的选择,而不是解决问题的根本我们可以因为掌握了最新的 JavaScript 框架 ahem、Angular 的 IoC 容器技术或者某些编程语言甚至操作系统而欢欣雀跃,但是这些东西并不是作为程序员的我们用来解决问题的根本——它们只是用于帮助我们解决问题的简单工具。我们必须非常谨慎,不要对某项正好喜欢或者正好很火的特定技术走火入魔。否则,我们将进入这样的思维怪圈

2017-03-23 10:51:31 320

原创 链表插入、删除算法

对于链表的插入和删除操作,自己写代码的一般思路是先遍历链表,找到要插入或删除的位置后再进行插入或删除操作,还要进行一系列不合法判断。而这个算法,简短的几行代码基本上就把所有的情况包含进去了,健壮性也很强,分享一下。typedef struct Node{ int data; //数据域 struct Node * pNext; //指针域}*PNODE,NODE;int

2017-03-23 10:44:38 755

剑指offer面试题(7)——重建二叉树

剑指offer面试题(7)——重建二叉树整体工程代码,C++语言实现。

2018-06-14

QT+opencv霍夫直线检测,圆检测及椭圆检测

开发环境为QT5.8+opencv3.2,主要实现了霍夫直线检测,圆检测及椭圆检测。

2018-06-02

QT+opencv边缘检测,轮廓提取及轮廓跟踪

开发环境为QT5.8+opencv3.2,主要实现了边缘检测,轮廓提取及轮廓跟踪,边缘检测使用了Canny算子、Sobel算子、Laplacian算子,轮廓跟踪使用八邻域法。

2018-05-29

QT+opencv图像增强,包括高斯平滑,中值滤波,图像锐化

开发环境为QT5.8+opencv3.2,主要实现了图像增强,包括高斯平滑,中值滤波,图像锐化。

2018-05-25

图像伪彩色增强,包括强度分层法、灰度级-彩色变换法、频域变换法

开发环境为VS2010+opencv2.4.9,图像伪彩色增强,包括强度分层法、灰度级-彩色变换法、频域变换法。

2018-05-25

QT+opencv图像几何变换,包括图像平移,图像旋转,图像缩放

开发环境为QT5.8+opencv3.2,主要实现了图像几何变换,包括图像平移,图像旋转,图像缩放。

2018-05-23

QT+opencv图像点运算,包括图像反色,灰度拉伸,灰度均衡

开发环境为QT5.8+opencv3.2,主要实现了图像点运算,包括图像反色,灰度拉伸,灰度均衡。

2018-05-21

PCI9054开发板资料

淘宝上买的PCI9054的开发板的资料,包括说明文档、原理图、配套Verilog程序、上位机程序、驱动程序、相关文档等

2018-02-02

深入浅出玩转FPGA

《深入浅出玩转FPGA》收集整理了作者在FPGA学习和实践中的经验点滴。书中既有日常的学习笔记,对一些常用设计技巧和方法进行深入探讨;也有很多生动的实例分析,这些实例大都是以特定的工程项目为依托,具有一定的借鉴价值;还有一些适合于初学者入门和进阶学习的实验例程;另外还给出了两个比较完整的DIY工程,让读者从系统角度理解FPGA的开发流程。, 《深入浅出玩转FPGA》从工程实践出发,旨在引领读者学会如何在FPGA的开发设计过程中发现问题、分析问题并解决问题。《深入浅出玩转FPGA》的主要读者对象为电子、计算机、控制及信息等相关专业的在校学生、从事FPGA/CPLD开发设计的电子工程师以及所有电子设计制作的爱好者们。

2017-05-20

学习opencv(中文版)

学习OpenCV(中文版),ISBN:9787302209935,作者:(美)布拉德斯基(Bradski,G.),(美)克勒(Kaehler,A.) 著,于仕琪,刘瑞祯 译

2017-03-20

<<数据结>>算法实现及解析_高一凡

高一凡老师编写的,配套严蔚敏、吴伟民老师的数据结构

2017-03-18

数据结构经典参考书籍

严蔚敏、吴伟民老师的比较经典的数据结构参考书籍PDF版

2017-03-18

侯捷老师深入浅出MFC

侯捷老师的深入浅出MFC,PDF版书籍及配套源码

2017-03-16

空空如也

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

TA关注的人

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