自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (7)
  • 收藏
  • 关注

转载 进程间通信之-信号量semaphore--linux内核剖析(十)

注: 本文转自http://blog.csdn.net/gatieme信号量什么是信号量信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌...

2018-03-05 21:05:01 870

转载 底层文件I/O和ANSI标准I/O的区别

一、先来了解下什么是文件I/O和标准I/O:文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O)。不带缓存指的是每个read,write都调用内核中的一个系统调用。也就是一般所说的低级I/O——操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台。标准I/O:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头

2016-11-21 20:45:08 4771 1

原创 Qt使用中遇到的问题及解决方案

1. 解决QSqlDatabasePrivate::removeDatabase: connection ‘myConnection’ is still in use, all queries will cease to work的问题该问题主要是因为没有关闭之前的数据库连接,然后又需要创建新的数据库连接导致。解决方案:必须释放该连接的所有查询,即删除所有与该连接有关的query;同时在释放该连接时

2016-11-16 21:23:07 3571 1

原创 笔试题-计算图中黑色瓷砖数(深度优先遍历的使用)

题目:小明站在一间贴满黑白相间瓷砖的房间里,小明站在黑色瓷砖处,小明处于好奇,希望每次只向相邻黑色瓷砖移动,现在小明想知道自己最多可以踩到多少块黑色瓷砖。输入描述:第一行输入两个整数M、N,分别表示房间的长宽,也就是横竖瓷砖的数目从第二行开始接下来的M行N列输入瓷砖类型,*表示黑色瓷砖,.表示白色瓷砖,@符号表示小明当前所在的黑色瓷砖当输入的M,N都为0时,结束输入。代码:

2016-10-20 15:58:37 1607

原创 笔试面试中指针的那些事

1.指针的大小如下代码: int main(){ char\* p = "hello"; cout<<sizeof(p)<<endl; } 请问输出是多少? 答:此处考点容易和字符串大小或者字符串长度混淆,此处sizeof求取的是指针p本身所占用的大小,我们知道指针保存的是地址值,那么在x86平台下,地址值占用4个字节的空间大小;在x64平台下,地址值占用8个字节的大小。默认是x

2016-10-19 22:10:36 616

原创 Qt中重定义的解决方案

利用Qt Creator开发时可能会遇到明明只是定义一次的变量或函数,偏偏报错重定义了!可能原因:1. 变量真正重定义了2. 文件重复包含3. 自己手动删除了旧文件,使用新文件替换了,但是pro文件中并没有更改!!!也就是说在pro文件中对某个文件多次包含导致了变量或者函数重定义了!这是最坑的!注意:删除项目文件时记得查看pro文件中是否同时删除了对应项!

2016-10-06 15:51:41 8392 1

原创 C/C++常见笔试面试题之常考关键字

对笔试面试中C/C++常考关键字进行了整理,包括volatile、const、static、extern、new/delete和malloc/free等。希望这些知识点有帮助!

2016-09-28 19:13:11 3373

转载 常见笔/面试题-之构造函数和析构函数

常见笔/面试题-之构造函数和析构函数构造函数是用来初始化一个对象的,而析构函数的作用则是释放对象占用的空间。如果将虚函数、构造函数和析构函数结合起来会有怎么样的效果呢?构造函数可以是虚函数吗?答:构造函数不可以是虚函数!基于以下几点原因:(1)构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间动态确定实际类型的。在构建一个对象时,构造函数执行期间,对象未完全构建完成,编译器无法知

2016-09-25 17:23:14 2068

原创 C++虚继承与虚基类

C++的三大特性:封装,继承,多态。继承的目的是就是为了代码重用,避免的重复代码的编写。继承分为单继承和多继承,单继承就是每次继承的基类只能有一个,属于一对一的关系;多继承则是子类可以同时继承自多个基类,拥有多个基类的特性,属于一对多的关系!虚继承的定义在多继承中派生类不能多次直接继承同一个基类,但是派生类的直接基类可能派生自同一个基类。例如:定义一个雇员类Employee作为顶层基类;另

2016-09-04 17:20:00 1625

原创 联编与多态(编译时多态和运行时多态)

联编在函数调用时,系统必须知道函数调用实际对应的函数实现(函数体)的地址,并把调用跟函数入口地址关联起来。这个过程称为联编,也叫作绑定(binding)。在编译的时候就能够确定函数的入口地址,这种联编方式叫做静态联编。由于这个过程是在编译时完成的,早于程序的执行,所以又叫做早期绑定/早期联编。我们最初使用(非虚函数)的无论是普通的全局函数,还是作为类成员的成员函数,或是运算符虫子啊函数

2016-09-04 11:27:21 1819

转载 C/C++程序员应聘常见面试题深入剖析

许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到 strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。  分

2016-09-02 09:41:50 610

原创 解决linux下cannot execute binary file: Exec format error

对于linux下cannot execute binary file: Exec format error明确说明是执行文件格式错误,可能情况:1.使用错误的命令,如gcc -c hello.c -o hello,这样得到的是.o文件,而不是可执行程序,此时使用./hello就会报上述错误!此时应改用gcc hello.c -o hello就可以啦!2.如果不是上述错误,就可能是版

2016-09-01 11:08:28 387478 7

原创 二叉树中和为某一值的路径

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶节点所经过的结点形成一条路径。二叉树的定义如下:struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;};二叉树中我们最为熟悉操作莫过于各种遍历了,前序遍历(根左右),中序遍历(左根右)

2016-08-23 19:59:11 604

原创 ffmpeg多种码率控制方式的实现

ffmpeg是我们进行视频编解码常用的工具,而对于ffmpeg中编码时对码率的控制方式一直没找合适的教程,无意中在stackoverflow上发现了答案,在此进行总结备忘。视频编码器常用的码率控制方式包括abr(平均码率),crf(限制码率),cqp(固定质量),ffmpeg中AVCodecContext显示提供了码率大小的控制参数,但是并没有提供其他的控制方式。ffmpeg中码率控制方式分为

2016-07-05 15:49:20 22721 3

原创 支持opencv的Mat图像采用x264等编码器编码的类

虽然在opencv中提供了videoWriter类可以将opencv图像编码成视频,但是由于自带的videoWriter支持的格式都是未经压缩的,具体参考如下:CV_FOURCC('P', 'I', 'M', '1') = MPEG-1 codecCV_FOURCC('M', 'J', 'P', 'G') = motion-jpeg codecCV_FOURCC('M', 'P', '

2016-07-05 15:27:41 4730 5

原创 opencv中的Kmeans使用示例

kmeans是非常经典的聚类算法,至今也还保留着较强的生命力,图像处理中经常用到kmeans算法或者其改进算法进行图像分割操作,在数据挖掘中kmeans经常用来做数据预处理。opencv中提供了完整的kmeans算法,其函数原型为:double kmeans( InputArray data, int K, InputOutputArray bestLabels, TermCriteria

2016-06-07 17:20:09 13242

转载 机器学习中常见的几种最优化方法

1. 梯度下降法(Gradient Descent)2. 牛顿法和拟牛顿法(Newton's method & Quasi-Newton Methods)3. 共轭梯度法(Conjugate Gradient)4. 启发式优化方法 5. 解决约束优化问题——拉格朗日乘数法我们每个人都会在我们的生活或者工作中遇到各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“

2016-06-07 10:02:17 42257 1

原创 简单的python爬虫(爬取百度百科词条)

本文是针对慕课网关于python爬虫课程的总结记录!1、简介一个完整的爬虫架构包括:调度程序、url管理器、网页下载器、网页解析器。调度程序:即爬虫的主函数url管理器:url管理的功能就是管理未爬取的url和已经爬取的url,常见的实现方式有:内存(使用python的set实现)、关系数据库、缓存数据库(菲关系型数据库,如redis)网页下载器:将互联网上的url对应的网页下

2016-05-15 16:31:54 8097 2

原创 C++11新特性学习笔记(二)

C++11引入了lambda(匿名函数),这样就可以在一个函数只需调用一次的地方使用了,类似内联函数。C++11 的 lambda 表达式规范如下:[ capture ] ( params ) mutable exception attribute -> ret { body }(1)[ capture ] ( params ) -> ret

2016-05-12 21:23:28 405

原创 C++11新特性学习笔记(一)

最近在看侯捷的C++标准库(第二版),书中一开始就讲解了C++11的一些新特性,在此权当笔记备忘。一、一致性初始化与初始列在C++11之前,变量初始化可因为小括号、大括号或者赋值操作符的出现而发生。C++11引入了“一致性初始化”(uniform initialization)概念,意思是面对任何初始化动作都可以是使用相同的语法操作实现——使用大括号,示例如下:int values[]

2016-05-11 22:30:19 491

转载 C++新特性

最近学习了C++11的新特性,将学习内容整理下来以巩固记忆,C++11的新特性,可以分为两部分,第一部分是C++11核心语言的特性,第二部分是STL标准库的新特性。学习C++11主要参考了wiki上的一篇文章,在介绍右值引用的时候还参考了MSDN上一篇文章,由于这两篇文章写的时间比较早,和实际有些出入,我的开发环境是win8,vs2012,很多C++11特性还没支持,所以只整理了vs2012已经支

2016-05-11 21:56:13 571

原创 Qt显示中文和使用中文路径

在Qt中经常需要显示中文和适用中文路径,一般情况下中文显示没有问题,而中文路径需要手动设置,有一下几种方法:第一种:windows下最常用最有效,直接使用国标码#include QString fileName = QFileDialog::getOpenFileName(this,QString("读取原图"),QString("E:\\"),QString("*.jpg *.bmp *

2016-05-11 20:30:50 14590

转载 C++中的explicit关键字

一句话说明:explicit关键字就是用来声明显示构造函数,抑制隐式转换!本文转载自:http://blog.csdn.net/chollima/article/details/3486230在C++程序中很少有人去使用explicit关键字,不可否认,在平时的实践中确实很少能用的上。再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。但稍微留心一下就会发现现有的

2016-05-03 20:00:10 444

转载 推荐一个背景建模的开源库

如题,该库名为BGSLibrary,是采用C++编写的用于 background subtraction (BGS)背景减去相关算法的开源库,包含了29种目前常用的背景减去算法。目前发布在google code上面,其链接为:https://code.google.com/p/bgslibrary/,遵守GNU GPL v3协议,需要的朋友可以自行下载。目前该库中包含的BGS算法有:

2016-04-16 09:59:57 647

转载 机器学习中的各种距离

在做分类时常常需要估算不同样本之间的相似性(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。本文的目的就是对常用的相似性度量作一个总结。本文目录:1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离

2016-04-12 18:59:00 558

原创 windows下python安装Numpy、matplotlib和whl文件

Numpy是函数库是在python中经常用到的,使用Numpy就可以像在Matlab上一样操作数组、向量、矩阵等运算了。matplotlib是python中强大的绘图工具。在windows下安装各种软件时习惯于exe文件,对于Numpy和matplotlib都有对应的exe文件存在,下载后直接双击就可以完成安装,相当方便!(该教程适用于python2.7的使用者)Numpy的下载地址:http

2016-04-11 21:13:58 18754

原创 windows下python安装Numpy、Scipy、matplotlib模块

大多使用windows的coder都已经习惯了exe文件安装程序,在使用python时经常会碰到其他的安装文件如whl等。Numpy、Scipy、matplotlib是常用的python模块。这里给出了各个模块的exe安装程序地址:         我自己安装的是python 2.7。所以以下的东东都是针对2.7的软件。         numpy :http://sourcefo

2016-04-11 10:19:31 4458

原创 最小二乘法拟合直线

为了求取两组数据之间的关联时,经常会采用曲线拟合的方式去求得两组数据之间的关系表达模型,曲线拟合中最基本和最常用的是直线拟合。设x和y之间的函数关系为:                   y=a+bx式中有两个待定参数,a代表截距,b代表斜率。对于等精度测量所得到的N组数据(xi,yi),i=1,2……,N,xi值被认为是准确的,所有的误差只联系着yi。下面利用最小二乘法把观测数

2016-04-09 10:25:44 10542

原创 最大回文串

最近笔试时遇到求取最大回文串的题目,相对来说比较简单。题目:所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如:“aba”,"c",对于一个字符串,可以通过删除某些字符而变成回文字符串,如:“cabebaf”,删除‘c’,'e','f'后剩下子串'abba'就是回文字符串。要求,给定任意一个字符串,字符串最大长度1000,计算出最长的回文字符串长度。如“cab

2016-04-08 22:35:33 635

原创 蛇形矩阵(Z形矩阵),C++实现

常见的蛇形矩阵是Z型矩阵,如:1  2  43  5  76  8  9仔细发觉规律可以发现:以这个方向的斜线/为循环对象时,坐标的和是不变的,因此可以通过坐标换算出对应的值,C++实现如下:#ifndef _ZSTYLEARR_HPP_#define _ZSTYLEARR_HPP_#include #include #include usin

2016-04-05 22:43:34 4507

原创 蛇形矩阵

最近在笔试中遇到一道蛇形矩阵的题,笔试时没做出来,回来思考良久才终于琢磨出来,解法并不是最优,只是留在此处备忘!常见的蛇形矩阵是Z型矩阵,如:1  2  43  5  76  8  9我笔试时遇到的是环形循环矩阵,如: 1    2    3   412  13  14  511  16  15  610   9    8   7一开始一直没找到规律

2016-04-05 21:08:28 1112

原创 C++笔记

使用C++的时间也有几年了,但是自己的C++基础还是不过关,为了能够提高自己的编程能力,更好的发掘C++的强大,又重新回到书本寻找那些被自己遗忘的宝藏。本文只是自己学习笔记,编排较乱,主要包含类的继承和传值与传引用的区别。类的继承:1.派生类通过继承基类,使得基类成员也成为派生类的成员,能够在派生类中访问基类成员(根据继承方式和访问控制级别所决定),通过这种方式重用基类代码。2.一个类

2016-04-03 12:06:03 539

原创 Qt获取鼠标位置(绝对位置、相对位置)

在进行界面编程时,经常需要获取鼠标的位置,特别是需要知道鼠标在界面上某个控件的相对位置。在Qt其实获取这几种位置还是比较简单的。首先我们需要了解Qt的坐标系统,Qt的坐标系统是有QPainter类控制的,而QPainter是在绘图设备上绘制。而有时我们并不需要进行绘图只需要通过鼠标事件获取坐标位置而已,这时我们需要了解两点:坐标系统和控件的层次关系。首先默认坐标系统中原点(0,0)在其左上角,x坐

2016-04-01 11:46:02 92525 14

原创 opencv中的FileStorage类使用注意事项

FileStorage类是opencv中用来进行文件操作的封装类,可以对XML,YAML,txt甚至doc文件进行读写操作。在使用opencv时经常需要对特征数据等进行保存,这时候通常会选择XML文件或者YAML文件。xml和yaml都是属于标记语言,开发者可以根据自身需要定义标签。同时他们也是一种语义/结构化语言,他们可以描述文档的结构和语义。FileStorage类可以对C++的基础数据类型(

2016-03-31 20:32:42 6771 1

转载 TCP协议中的三次握手和四次挥手(图解)

本文转载自:http://blog.csdn.net/whuslei/article/details/6667471建立TCP需要三次握手才能建立,而断开连接则需要四次挥手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报

2016-03-24 20:40:05 424

原创 Python中string与Datetime,timestamp的各种转换

在python开发中,经常需要对datetime,timestamp等类型转换成string类型,偶然发现一张很有用的图。

2016-03-23 15:40:25 2151

转载 VS中Image Watch插件的使用(OpenCV)

在vs中用Opencv进行开发时,调试经常需要去查看当前图像的内容,一直很希望能像Matlab一样直接查看,偶然发现一个配合VS使用的opencv开发神器——Image Watch。该插件现在支持较新版本的vs版本如:vs2012,vs2013,vs2015等。1.        从https://visualstudiogallery.msdn.microsoft.com/e682d54

2016-03-18 18:47:09 3654

原创 解决QLabel显示图片扭曲的问题

最近在做图像检索的界面时,发现读取的大部分图片Mat格式用QLabel显示时出现扭曲,原来的彩色图扭曲成了灰度图,而在之前一直使用的是QLabel显示并未出现这样的问题,仔细观察出现此类问题的情况,发现在显示不规则图片时就会出现显示扭曲。如下图图1 正常(352x288)图2 扭曲(尺寸133*184)个人猜想应该是图片数据不对齐导致的,百度之后果然是因为图片数据没有按

2016-03-16 16:18:11 4142 2

原创 Qt多线程编程

以前学操作系统时学过进程与线程,然从来没有自己亲手编写过多线程的程序。最近在学习时需要用到多线程以减少执行时间,由于一直使用Qt平台,所以看了一下Qt的多线程编码发现难度不大,主要就是重写Thread的run()函数即可。通过一个例子来说明具体过程:主线程读取视频,检测动静态,发现存在动态视频帧时就将动态视频帧保存。如果不采用多线程就会出现需要等待写完动态视频段才能继续检测剩余的视频。vide

2015-12-21 21:29:33 837 1

原创 Qt学习笔记(QAction,QString格式化输出)

在编写界面程序时经常会用到单选项或者复选项,界面按钮方式可以采用QCheckBox、QRadioButton配合QGroupBox实现。如果采用Qt设计师设计界面时,很容易达到这样的效果。而另一种情况是采用菜单项实现,而菜单栏实现单选或者多选一般采用QAction实现。使用QAction实现单选的方法:将多个QAction添加到QActionGroup,并将QActionGroup设置为exc

2015-12-16 17:34:43 18123

支持opencv视频编码的编码器类

可以调用不同的编码器直接将Mat编码为压缩的封装视频格式,支持x264编码器

2016-07-05

开源背景建模库

该库名为BGSLibrary,是采用C++编写的用于 background subtraction (BGS)背景减去相关算法的开源库,包含了29种目前常用的背景减去算法。包括两部分,包含GUI界面的可执行程序,另一个为程序源码,vs项目

2016-04-16

cutYUV可执行程序

YUV文件裁剪程序,支持命令行执行和直接双击执行,支持YUV400、YUV420、YUV422、YUV444格式,输入选项请查看帮助(-h)。

2015-09-13

cutYUV源码

cutYUV程序源码,支持YUV400,YUV420,YUV422,YUV444

2015-09-13

29种前景检测算法(背景建模)源码

包含现在主流的前景检测方法(自适应背景学习AdaptiveBackgroundLearning,均值滤波DPMeanBGS,单高斯,混合高斯,SigmaDelta,KDE等29中算法

2015-06-26

前景检测(背景建模)的演示程序

包含现在主流的前景检测方法(自适应背景学习AdaptiveBackgroundLearning,均值滤波DPMeanBGS,单高斯,混合高斯,SigmaDelta,KDE等29中算法

2015-06-26

FaceDetection In Color Images.pdf

FaceDetection In ColorImages 基于肤色的人脸检测

2015-06-26

空空如也

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

TA关注的人

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