- 博客(110)
- 资源 (20)
- 收藏
- 关注
转载 C++
1. 面向对象的程序设计思想是什么?答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。2. 什么是类?答:把一些具有共性的对象归类后形成一个集合,也就是所谓的类。3. 对象都具有的两方面特征是什么?分别是什么含义?答:对象都具有的特征是:静态特征和动态特征。静态特征是指能描述对象的一些属性(成员变量),动态特征是指对象表现出来的行为(成员函数)4. 在头文件
2015-12-06 10:49:27 507
转载 反转链表
反转链表 反转链表是一个常见的面试题,现在出现了N多种的变形,各种增加难度。今天看到了一个从m反转到n的,于是手写代码试了试。发现要想把所有情况覆盖全达到bug free还是挺难的。于是,根据各种反转链表题总结了一些比较简练的代码。比较:接口限定的反转链表。// From curr reverse to end, return reversed linked list head.
2015-12-05 19:13:20 404
原创 矩阵置零
题意是要求在01矩阵中,把0的点的行和列都置零。#include #include #include using namespace std; void unguarded_setZero(int *matrix, int m, int n, int i, int j){ for (int ii = 0; ii { *(ma
2015-12-05 19:08:30 631
原创 Wildcard Matching
Wildcard Matching ‘?’匹配任意单个字符,‘*’匹配任意字符序列(包括空字符序列)。如果匹配整个串返回true。例:isMatch("aa","a") → falseisMatch("aa","aa") → trueisMatch("aaa","aa") → falseisMatch("aa", "*") → trueisMatch("aa", "a*
2015-12-05 19:07:08 394
转载 C++ STL
C++ STLWhat is the time complexity of insertion in a map? If you have a vector of 100 elements, and you erase elements 20 through 55, what happens to the other elements? Why will you use vector
2015-12-05 18:54:25 316
转载 C++
1. 在类的普通成员函数中调用虚函数,情况是怎么样的?(对象、引用、指针)多态, 事实上,这是 Template Method模式的关键 2. 关于成员变量初始化顺序,几个有依赖关系的成员变量要初始化,让写出构造函数。 在初始化列表中,成员变量的初始化顺序是其在类中声明顺序,而非列表中的顺序。3. 写一个双链表。 Struct ListNode{ int
2015-12-05 18:48:57 363
转载 C++ STL基本容器比较
C++ STL基本容器比较在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、vect
2015-12-05 18:38:55 320
转载 算法常用术语中英对照
(计算机编程英语词汇)算法常用术语中英对照Data Structures 基本数据结构Dictionaries 字典Priority Queues 堆 Graph Data Structures 图Set Data Structures 集合Kd-Trees 线段树Numerical Problems 数值问题Solving Linear Equatio
2015-12-05 18:37:28 1472
转载 怎样优化Pentium系列处理器的代码
怎样优化Pentium系列处理器的代码目录简介文献高级语言中调用汇编函数调试及校验内存模式对齐Cache第一次 vs 重复运行地址生成互锁(AGI) (PPlain 及 PMMX)配对整数指令 (PPlain 及 PMMX)完美的配对有缺陷配对将复杂指令集分割为简单指令 (PPlain 及 PMMX)前缀 (PPlain
2015-12-05 18:24:03 529
转载 创建型模式-- 1.Simple Factory
创建型模式-- 1.Simple Factory模式(一)Simple Factory(简单工厂)模式(对象创建型模式)一. 意图隐藏创建具体类的代码.二. 适用性2.1 把有继承于同一接口的具体产品类的创建集中在一起.2.2 当你提供一个产品类库, 而只想显示他们的接口而不是实现时;三. 模式结构四. 角色说明 SimpleFactory : 提供
2015-12-05 18:08:31 350
转载 操作系统习题与答案
第一章 引言1.什么是计算机系统?它由哪几部分组成? 计算机系统是按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。计算机系统由硬件系统和软件系统组成。硬件系统是计算机系统赖以工作的实体,软件系统保证计算机系统按用户指定的要求协调地工作。2.计算机系统的资源包括哪些?计算机系统的资源包括两大类:硬件资源和软件资源。硬件资源主要有中央处理器、主存储器、辅助存储器和各种
2015-12-05 17:05:56 7466
转载 文件系统
记录:记录是一组相关数据项的集合,用于描述一个对象某方面的属性。文件:文件是具有文件名的一组相关信息的集合。文件系统:目录:文件控制块的集合构成了文件目录。目录项:一个文件控制块就是一个文件目录项。文件控制块:文件控制块(FCB)是操作系统用来描述和控制文件的数据结构。索引节点:除了文件名,文件控制块的其他控制信息称之为索引节点(I节点)。文件逻辑结构:从用户观点出发,
2015-12-05 17:00:26 2311
转载 线程机制
任务:所谓的任务是指一个具有开始时间和完成时间的操作,任务是系统的基本工作单元。多任务处理:同一个时间内计算机系统中如果允许多个进程同时处于运行状态,这便是多任务。多重处理:对于有多个CPU的计算机,同时在每一个CPU上执行进程称为多重处理。线程:线程不能独立存在,必须存在于进程中,各线程间共享进程空间的数据。线程是指进程内部的一个可独立执行的实体。线程是CPU运行的基本单位。会话
2015-12-05 16:56:26 2295
转载 进程管理
进程:进程是正在执行的程序,即在并发环境下一个程序在一个数据集合上的一次执行过程。进程控制块:进程控制块是由操作系统维护,用来记录进程相关信息的数据结构。进程的组成中,程序段和数据段是进程存在的物质基础,是进程的实体,进程控制块是进程存在的唯一标志。上下文切换:在多进程并发执行中,将CPU切换到另一个进程需要保存原来进程的关联状态并装入新进程的关联状态。这一任务称为上下文切换(contex
2015-12-05 16:52:31 1054
转载 存储管理
地址映射:地址映射就是将进程的逻辑地址变换为内存中的物理地址,地址映射需要重定位技术和地址变换机构的支持。逻辑地址:逻辑地址就是指令在程序中的地址,源程序经编译(或解释)后编排的地址。逻辑地址也叫虚拟地址物理地址:物理地址就是进程中的指令和数据在内存中的地址,即指令和数据存放在内存中的内存单元地址。物理地址也叫实地址。地址空间:逻辑地址空间就是某程序的逻辑地址的集合,逻辑地址空间可简称
2015-12-05 16:50:58 8766
转载 CPU调度与死锁
进程调度:系统按照某种算法,动态的把处理机分配给就绪队列中的进程或线程,使之运行。死锁:在多个进程并发执行中,某进程申请的资源被其他等待进程占有,如果该等待进程永远无法改变其等待状态,这种情况称之为死锁。安全序列:系统中所有进程能够按照某一种次序合理分配资源,并且依此地运行完毕。所有进程完成次序的全集就是安全序列。资源分配图:所谓资源分配图就是用有向图描述进程和资源的关系。死锁定理
2015-12-05 16:46:57 3135 1
转载 打印调试信息
void TraceDebug(char*fmt, ...){#ifndef _DEBUG return;#endif charszText[1024] = {0}; char* pTime = szText; SYSTEMTIMEstTime = {0}; GetLocalTime(&stTime); sprintf_s(pTime,1024,"/n[%04d
2015-12-05 16:42:48 308
转载 STL学习小结3
三、具体容器、算法1、所有容器都提供了一个默认的构造函数,一个拷贝构造函数。例如:list l;....vectorivector(l.begin(),l.end()); int array[]={1,2,3,4};....setiset(array,array+sizeof(array)/sizeof(array[0])); 2、与大小相关的函数s
2015-12-05 16:35:46 344
转载 STL学习小结2
二、STL六大组件容器(Container)算法(Algorithm)迭代器(Iterator)仿函数(Function object)适配器(Adaptor)空间配置器(allocator)1、容器作为STL的最主要组成部分--容器,分为向量(vector),双端队列(deque),表(list),队列(queue),堆栈(stack),集合(set),多重集合(
2015-12-05 16:34:10 309
转载 STL学习小结
STL就是Standard TemplateLibrary,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最先开发
2015-12-05 16:32:07 333
原创 只在某一函数内使用#define
#define __MIN__(x, y) (((x)#define __MAX__(x, y) (((x)>=(y))? (x) : (y))... #undef __MIN__#undef __MAX__
2015-05-21 09:22:18 1814
转载 二维卷积的基本原理
void Conv2(int** filter, int** arr, int** res, int filterW, int filterH, int arrW, int arrH){ int temp; for (int i=0; i { for (int j=0; j { temp = 0; for (int m=0; m { f
2015-05-20 20:18:38 1246
原创 双边滤波
双边滤波是一种可以保边去噪的滤波器。之所以可以达到这样的效果,是因为该滤波器是由两个函数构成,一个函数是由几何空间距离决定滤波器系数,另外一个由像素差决定滤波器系数。 在前面几种讲述的滤波方法中,像素点的灰度值均是由该点邻域内其他点的灰度值决定的,比如高斯滤波和均值滤波都可看作是加权平均,中值滤波取的是邻域灰度中值。双边滤波则不但考虑邻域范围内点的灰度值,同样考虑这些点距离中心点的
2015-05-19 22:15:58 918 1
原创 中值滤波
中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。其实现过程为: 1)通过从图像中的某个采样窗口取出奇数个数据进行排序 2)用排序后的中值作为当前像素点的灰度值 在图像处理中,中值滤波常用来保护边缘信息,是经典的平滑噪声的方法,该方法法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作
2015-05-19 22:15:44 1509
原创 均值滤波
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度值g(x,y),即g(x,y)=1/m ∑f(x,y), m为该模板中包含当前像素在内的像素总个数。这样的方法可以平滑图像,速度
2015-05-19 22:12:23 1733
原创 高斯滤波
高斯滤波是一种线性平滑滤波,适用于滤除高斯白噪声,已广泛应用于图像处理的预处理阶段。按照本人的理解,对图像进行高斯滤波就是对图像中的每个点的像素值计算,计算的准则是,由该点本身灰度值以及其邻域内的其他像素灰度值加权平均所得,而加权平均的权系数由二维离散高斯函数采样并归一化后所得。void GuassFilter(CvMat *pGrayMat, CvMat* pFilterMat, int
2015-05-19 22:11:31 696
转载 Canny
Canny算子求边缘点具体算法步骤如下:1. 用高斯滤波器平滑图像.2. 用一阶偏导有限差分计算梯度幅值和方向.3. 对梯度幅值进行非极大值抑制 .4. 用双阈值算法检测和连接边缘// 一维高斯分布函数,用于平滑函数中生成的高斯滤波系数 void CreatGauss(double sigma, double **pdKernel, int *pnWidowSi
2015-05-19 20:51:05 368
原创 Harris角点检测
//定义模板运算函数//im:输入图像 tp:模板参数double * mbys(double * im,int imW,intimH,double *tp,int tpW,int tpH){ double* out=new double[imW*imH]; memset(out,0, imW*imH*sizeof(double));
2015-05-19 19:23:48 480
转载 基于直方图的图像全局二值化算法原理、实现--一维最大熵
1、描述: 该算法把信息论中熵的概念引入到图像中,通过计算阈值分割后两部分熵的和来判断阈值是否为最佳阈值。 2、算法原理 3、参考代码: int Get1DMaxEntropyThreshold(int* HistGram) { int X, Y,Amount=0; double* HistGra
2015-05-19 10:08:54 1471 1
转载 基于直方图的图像全局二值化算法原理、实现--OSTU大律法
1、描述: 主要是思想是取某个阈值,使得前景和背景两类的类间方差最大,matlab中的graythresh即是以该算法为原理执行的。2、参考代码:int GetOSTUThreshold(int* HistGram) { int X, Y, Amount = 0; int PixelBack = 0, PixelFore =
2015-05-19 10:05:23 5784 1
转载 基于直方图的图像全局二值化算法原理、实现--迭代最佳阈值
1、描述: 该算法先假定一个阈值,然后计算在该阈值下的前景和背景的中心值,当前景和背景中心值得平均值和假定的阈值相同时,则迭代中止,并以此值为阈值进行二值化。2、实现过程: (1)求出图象的最大灰度值和最小灰度值,分别记为gl和gu,令初始阈值为: (2) 根据阈值T0将图象分割为前景和背景,
2015-05-19 10:01:52 4685
转载 基于直方图的图像全局二值化算法原理、实现--基于双峰平均值的阈值
1、描述: 该算法和基于谷底最小值的阈值方法类似,只是最后一步不是取得双峰之间的谷底值,而是取双峰的平均值作为阈值。2、参考代码:int GetIntermodesThreshold(int* HistGram) { int Y, Iter = 0, Index; double* HistGramC = new double
2015-05-19 09:56:49 5472 1
转载 基于直方图的图像全局二值化算法原理、实现--基于谷底最小值的阈值
1、描述: 此方法实用于具有明显双峰直方图的图像,其寻找双峰的谷底作为阈值,但是该方法不一定能获得阈值,对于那些具有平坦的直方图或单峰图像,该方法不合适。 2、实现过程: 该函数的实现是一个迭代的过程,每次处理前对直方图数据进行判断,看其是否已经是一个双峰的直方图,如果不是,则对直方图数据进行半径为1(窗口大小为3)的平滑,如果迭代了一定的数量比如1000次后仍未获得
2015-05-19 09:21:21 3783 2
原创 基于直方图的图像全局二值化算法原理、实现--百分比阈值(P-Tile)
//HistGram灰度图像的直方图 //Tile背景在图像中所占的面积百分比 int GetPTileThreshold(int* HistGram, int Tile) { int Y, Amount = 0, Sum = 0; for (Y = 0; Y 256; Y++) Amount += HistGram[Y]; //
2015-05-19 09:16:49 2319
原创 基于直方图的图像全局二值化算法原理、实现--灰度平局值值法
图像二值化的目的是最大限度的将图象中感兴趣的部分保留下来,在很多情况下,也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。 一:灰度平局值值法: 1、描述:即使用整幅图像的灰度平均值作为二值化的阈值,一般该方法可作为其他方法的初始猜想值。 2、原理: 3、实现代码: int
2015-05-19 09:12:57 1395
转载 多线程编程
1.CPU发展趋势核 心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核 32线程),我们如何来面对这突如其来的核心数目的增加?编程也要与时俱进。笔者斗胆预测,CPU各个核心之间的片内总线将会采用4路组相连:),因为全 相连太过复杂,单总线又不够给力。而且应该是非对称多核处理器,可能其中会混杂几个DS
2015-05-18 22:10:33 359
转载 DSP/BIOS小结
中断处理任务一般要划分为两个部分:一个是控制部分,花时间少,放在HWI函数中;另一部分是处理部分,放在SWI函数或任务中处理。4种API实现实时监测数据的采集:LOG,STS,HST,TRC。DSP/BIOS支持4种线程:(1)硬件中断(HWI): 频率可达200KHz(5us),处理时限在2us~100us,包括CLK函数(2)软件中断(SWI):时限100us以上,SWI允许H
2015-05-18 22:01:49 4904 1
转载 busybox命令大全
BusyBox是标准 Linux工具的一个单个可执行实现。BusyBox包含了一些简单的工具,例如cat和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount以及 telnet。有些人将BusyBox称为Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令。1、BusyBox 的诞
2015-05-18 21:30:01 2705
转载 Invalidate、RedrawWindow与UpdateWindow的区别
一:什么时候才会发生重绘窗口的消息? 当需要更新或重新绘制窗口的外观时,应用程序就会发送WM_PAINT消息。对窗口进行重新绘制。 二:Invalidate() --RedrawWindow() -- UpdateWindow()三个函数有什么异同? Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系统,
2015-05-18 21:26:02 362
转载 设备坐标和逻辑坐标
设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。 逻辑坐标(Logical Coordinate)是系统用
2015-05-18 21:25:35 423
High Performance Kalman Filter Tuning for Integrated Navigation Systems
2020-07-19
Uber近几年的论文
2020-07-10
路径规划论文 --英文
2020-07-10
Computer Vision III: Detection, Segmentation and Tracking ppt
2020-07-10
Doppler Radar Speed Measurement Based On A 24 GHz Radar Sensor
2019-01-13
Vehicle Tracking with Heading Estimation using a Mono Camera System
2019-01-13
An Overview on Target Tracking Using Multiple Model methods
2019-01-13
OpenTLD-master
2015-05-17
opensift-master
2015-05-17
边缘检测和图像分割代码
2015-05-17
bgslibrary:实现了二十来种视频前景提取的算法
2015-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人