- 博客(67)
- 资源 (27)
- 收藏
- 关注
转载 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
(一)HOG特征1、HOG特征:方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Da
2018-01-24 09:41:49
464
原创 共有云和私有云的区别
私有云和公有云的显著差别在于对数据的掌控。只需一分钟,下面几张图就能让你看懂公有云和私有云的本质区别。 私有云和公有云的显著差别在于对数据的掌控。 采用公有云服务的企业必须将数据托管于云服务商的数据中心,企业对数据的掌控力度自然减弱。一旦数据中心因自然灾害、人为因素或法律规范等各方面因素导致数据丢失,将对企业形成致命伤害。 私有云在数据安全、数据备份等方面也有更多的可
2017-11-20 09:20:36
859
转载 经典算法题1:找出数组中只出现一次的数字,其它数字都出现了两次
题目:一个整型数组里除了一个数字之外,其它的数字都出现了两次。请写程序找出这个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析:由于题目要求时间复杂度为O(n),所以先排序然后比较相邻数字是否相同的思路被排除。 空间复杂度是O(1),辅助空间被限制,所以hash表的思路也被排除。 那么这个题的突破口在哪里呢?注
2017-10-20 20:00:10
2423
转载 线程池
1.线程池基本原理 在传统服务器结构中, 常是 有一个总的 监听线程监听有没有新的用户连接服务器, 每当有一个新的 用户进入, 服务器就开启一个新的线程用户处理这 个用户的数据包。这个线程只服务于这个用户 , 当 用户与服务器端关闭连接以后, 服务器端销毁这个线程。然而频繁地开辟与销毁线程极大地占用了系统的资源。而且在大量用户的情况下, 系统为了开辟和销毁线程将浪费大量的时间和资源。线程
2017-10-19 20:26:31
199
转载 C++ STL 简单记录
C++ STL 简单记录1,STL提供三种类型的组件:容器、迭代器、算法。 容器:顺序容器(vector、list、deque、string等)是一系列元素的有序集合;关联容器(set、multiset、map、multimap)包含查找元素的键值。 迭代器:作用是遍历容器。 for (vectorint>::iterator it = v.beg
2017-10-19 09:04:07
238
原创 C++虚函数及虚函数表解析
引言C++面向对象语言的一大特性就是抽象,在程序设计上的体现就是鼓励面向接口编程,而不要面向具体实现编程。这里所说的抽象和接口与C++的多态性密切相关。C++的多态分为静态多态(编译时多态)和动态多态(运行时多态)两大类。静态多态通过重载、模板来实现;动态多态就是通过本文的主角虚函数来体现的。虚函数是C++语言一个非常重要的特性,不同编译器对此特性的实现机制也略有差别,虽然具体实现细节由编
2017-10-19 08:53:23
261
转载 Qt中QThread 互斥,事件,临界区,信号量
在gemfield的《从pthread到QThread》一文中我们了解了线程的基本使用,但是有一大部分的内容当时说要放到这片文章里讨论,那就是线程的同步问题。关于这个问题,gemfield在《从进 程到线程》中有一个比喻,有必要重新放在下面温习下:*******************************最后用一个比喻来总结下:1、一个进程就好比一个房子里有一个人;2、cl
2017-09-05 10:21:56
5494
转载 十道海量数据处理面试题与十个方法大总结
十道海量数据处理面试题与十个方法大总结第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最
2017-09-05 08:29:23
352
转载 尝试在C++里实现 Java 的 synchronized 关键字
尝试在C++里实现 Java 的 synchronized 关键字 话说Java里有个很强大的关键字叫synchronized,可以方便的实现线程同步。今天异想天开,尝试在C++里模拟一个类似的。 最近在学习C++的STL,看见智能指针这章节时,无不感叹利用语言的丰富特征,来各种实现各种巧妙的构思。最经典的莫过于使用栈对象构造/析构函数,来维护局部资源的初始化和释放
2017-09-04 17:20:19
564
1
转载 1 教科书里的单例模式
1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。 上代码: 123456
2017-09-04 17:03:25
275
转载 Linux 线程同步的三种方法
Linux 线程同步的三种方法线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthre
2017-09-04 09:11:31
147
原创 C++单例模式
单例模式单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。一般情况下,我们建立的一些类是属于工具性质的,基本不用存储太多的跟自身有关的数据,在这种情况下,每次都去new一个对象,
2017-09-04 09:10:31
273
转载 linux常用命令
玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li
2017-09-03 20:48:59
230
转载 线程基本概念
题目转自http://blog.youkuaiyun.com/morewindows/article/details/7392749第一题:线程的基本概念、线程的基本状态及状态之间的关系?线程,有时称为轻量级进程,是CPU使用的基本单元;它由线程ID、程序计数器、寄存器集合和堆栈组成。它与属于同一进程的其他线程共享其代码段、数据段和其他操作系统资源(如打开文件和信号)。线程
2017-09-01 21:46:23
1220
转载 线程同步
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHR
2017-09-01 21:44:08
185
转载 归并排序
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plain copy
2017-08-31 22:22:11
209
转载 二叉查找树(二)之 C++的实现
二叉查找树(二)之 C++的实现 概要上一章介绍了"二叉查找树的相关理论知识,并通过C语言实现了二叉查找树"。这一章给出二叉查找树的C++版本。这里不再对树的相关概念进行介绍,若遇到不明白的概念,可以在上一章查找。目录1. 二叉树查找树2. 二叉查找树的C++实现3. 二叉查找树的C++实现(完整源码)4. 二叉查找树的C++测试程序转载请注明出处:
2017-08-31 21:08:13
419
转载 二叉查找树
二叉查找树(一)之 图文解析 和 C语言的实现 概要 本章先对二叉树的相关理论知识进行介绍,然后给出C语言的详细实现。关于二叉树的学习,需要说明的是:它并不难,不仅不难,而且它非常简单。初次接触树的时候,我也觉得它似乎很难;而之所产生这种感觉主要是由于二叉树有一大堆陌生的概念、性质等内容。而当我真正的实现了二叉树再回过头来看它的相关概念和性质的时候,觉得原来它是
2017-08-31 21:06:59
321
转载 C++中的 多线程
有很多时候,我们希望可以在C++类里面对那些比较耗时的函数使用多线程技术,但是熟悉C++对象语法的人应该知道,C++类的成员函数的函数指针不能直接做为参数传到pthread_create,主要因为是C++成员函数指针带有类命名空间,同时成员函数末尾是会被C++编译器加上可以接收对象地址的this指针参数。因此需要将成员函数做一定的转化,将其转化为不被编译器加上this指针,而由我们自己来为该函数维
2017-08-30 08:03:48
527
转载 win下多线程,同步等简单应用
1. 互斥量,MutexQt下环境需要pro下加DEFINES -= UNICODE[cpp] view plain copy#include #include using namespace std; DWORD WINAPI Thread1(LPVOID lpParmeter); DWORD
2017-08-29 21:49:35
225
转载 TCP状态图解
Tcp状态机1、为什么建立连接需要三次握手,断开连接需要四次握手? 举例来说,C与S要可靠的沟通,沟通之前要又准备工作,沟通完了,要有清理工作。 沟通之前的准备工作 C:我要跟你说话,你注意听(SYN) S:好的(ACK),我也要跟你说话,你注意听(SYN) C:好的(ACK) ........ 交流过程中
2017-08-29 21:20:22
288
转载 c++ list, vector, map, set 区别与用法比较
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要
2017-08-29 18:34:12
283
转载 C++二义性
版权声明:本文为博主原创文章,未经博主允许不得转载。 二义性问题1.在继承时,基类之间、或基类与派生类之间发生成员同名时,将出现对成员访问的不确定性——同名二义性。2.当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生另一种不确定性——路径二义性。同名二义性同名隐藏规则——解决同名二义的方法
2017-08-29 13:10:21
693
转载 Vlan划分及其意义
VLAN是什么?如何划分VLAN?如何实现VLAN?VLAN有什么好处? VLAN可能用到的三层交换技术1. VLAN是什么? VLAN是虚拟局域网,是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。 基于交换式以太网的虚拟局域网在交换式以太网中,利用VLAN技术,可以将由交换机连接成的物理网络划分成多个逻辑子网。也就是
2017-08-28 14:23:02
22279
转载 基数排序
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢复默认状态),以下学习基数排序。【1】基数排序以前研
2017-08-28 08:58:31
257
转载 排序算法5
1、序言这是《漫谈经典排序算法系列》第五篇,给出了三种线性时间排序,分别是计数排序、基数排序、桶排序。各种排序算法的解析请参考如下: 《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫
2017-08-27 13:31:46
275
转载 排序算法4
1、序言这是《漫谈经典排序算法系列》第四篇,解析了归并排序。 各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈经典排序算法:五、线性时间排序(计数、基数、桶排
2017-08-27 13:26:52
234
转载 排序算法3
1、序言这是《漫谈经典排序算法系列》第三篇,先解析了冒泡排序,然后引出快速排序,给出了快速排序的两种实现版本。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》《漫谈经典排序算法:四、归并排序》《漫谈
2017-08-27 13:25:48
248
转载 排序算法2
1、序言这是《漫谈经典排序算法系列》第二篇,解析了各种插入排序算法。主要包括:直接插入排序、折半插入排序、表插入排序、希尔插入排序。每一种算法的开头都叙述了引出该算法的原因,然后给出代码,最后分析算法效率及和其他插入排序相比,优劣在哪里。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解
2017-08-27 13:23:08
200
转载 排序算法1
1、序言这是《漫谈经典排序算法系列》第一篇,该篇从最简单的选择排序算法谈起,由浅入深的详细解析两种选择排序算法的过程及性能比较。逐步揭露选择排序的本质及其基本思想。各种排序算法的解析请参考如下:《漫谈经典排序算法:一、从简单选择排序到堆排序的深度解析》《漫谈经典排序算法:二、各种插入排序解析及性能比较》《漫谈经典排序算法:三、冒泡排序 && 快速排序》
2017-08-27 13:22:06
323
转载 TCP状态转换图
TCP正常建立和关闭的状态变化 TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做 四次握手。 建立连接 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收
2017-08-26 21:54:12
273
转载 sql之连接
内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行全外连接: 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。交叉连接: 生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与
2017-08-22 08:44:28
185
转载 排序算法
最近看排序算法的书籍,记录下自己的心得和总结。关于几种常见排序的原理和实现。(快速排序借了别人的步骤描述,可以很清晰的理解每一趟怎么跑的)首先说下稳定排序和非稳定排序,简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。 几个基本常见的排序,插入排序(包括直接插入,希尔插入,折半插入等),交
2017-08-20 19:42:11
207
转载 快速排序详解
快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速
2017-08-19 09:53:40
214
转载 strcpy和memcpy
strcpy和memcpy都是标准c库函数,它们的特点:strcpy提供了字符串的复制,strcpy只用于字符串的复制,不仅复制字符串内容外,还会复制字符串的结束符。strcpy的函数原型是: char* strcpy(char* dest, const char* src);[cpp] view plain copychar
2017-08-15 20:01:35
411
转载 内存管理
计算存储的层次结构:当前技术没有能够提供这样的存储器,因此大部分的计算机都有一个存储器层次结构,即少量的非常快速、昂贵、易变的高速缓存(cache);若干兆字节的中等速度、中等价格、易变的主存储器(RAM);数百兆或数千兆的低速、廉价、不易变的磁盘。这些资源的合理使用与否直接关系着系统的效率。 1. 内存管理方法
2017-08-14 19:47:09
399
转载 C++ STL容器之 map
C++ STL容器之 mapmap 是一种有序无重复的关联容器。关联容器与顺序容器不同,他们的元素是按照关键字来保存和访问的,而顺序元素是按照它们在容器中的位置保存和访问的。map保存的是一种 key - value 的pair对象,其中 key 是关键字,value 是关键字对应的值。通过 key找到对应的 value。map中按照 key的大小升序排列pair对象。
2017-08-14 15:13:05
319
转载 视频压缩2
上面一篇文章提到了,视频压缩的目的是为了减少视频存储的空间或者视频传输带宽。既是存储和带宽相对廉价的今天,要实现视频的大容量存储(如视频监控)和实时传输,没有视频压缩几乎不可能。 视频压缩现状:视频压缩编码标准种类繁多,其中ITU下主导的H.26x系列和ISO主导的MPEG系列影响最大,应用最为广泛。早期,ITU下的H.26x主要应用于实时领域;ISO的MPEG系列(它包括
2017-08-13 20:36:03
265
转载 视频压缩1
要实现实时视频通信,除了需比与其它数据通信(语音,非实时视频,数据)更高的带宽外,还需要对视频信号进行较大的压缩。网络带宽正随着无线接入技术和有线传输技术的发展不断提升,但即使这样,如果不对视频信号进行必要的压缩,目前用户的接入带宽也是远远无法满足视频通信的要求。 假设用户接入网带宽为20M(在中国,有这种接入网带宽的用户很少吧?),如果用户想进行实时的视频通信(比如说你想跟
2017-08-13 20:35:25
239
转载 TCP/IP协议栈的基本工作原理
TCP/IP是互联网的核心协议,也是大多数网络应用的核心协议。就前面一段时间面试中问到的TCP/IP问题,这里给出一个简单的小结。 TCP由RFC793、RFC1122、RFC1323、RFC2001、RFC2018以及RFC2581定义。 (1) TCP概述a. TCP提供的是面向连接的全双工服务。TCP所有的数据会匹配到由源地址,目的地址,源端口
2017-08-10 16:19:56
1851
QTFrame框架超多资源
2017-06-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人