- 博客(430)
- 资源 (9)
- 收藏
- 关注
原创 [人眼检测] high confidence visual recognition of persons by a test of statistical independence
iris检测算法流程预处理I=imcomplement(imfill(imcomplement(I),'holes'));粗检测I < 0.5排除3x3矩阵内的局部最小值排除离各个边缘距离小于最小半径的点对于剩下的点,采用partiald在圆弧上求blur积分最大值即为iris的中心所在的大致位置细检测 search在粗检测附近找10x10的patch在这个patch内,同样采用pa
2015-03-03 22:03:39
1622
原创 OpenGL Tutorial
原文见这里第一课:代码配置第二课:简单画图GLuint VertexArrayID; glGenVertexArrays(1, &VertexArrayID);glBindVertexArray(VertexArrayID);创建一个顶点数组对象,并将它设为当前对象。当窗口创建成功后(即OpenGL上下文创建后),马上做这一步工作;必须在任何其他OpenGL调用前完成。
2015-02-05 11:09:38
2089
原创 High-Dimensional Local Binary Patterns
HD-LBP用于人脸识别取得接近人类的结果。几乎是目前最好的算法。主要流程是人脸检测,再对齐。在标定点附近找高维特征,最后根据这个特征可以用cos来计算人脸的相似性。人脸图片的获得: opencv人脸检测,2倍大小图片。再检测眼角点将图片旋转为正脸。高纬度特征的提取方法: 把人脸都放缩到300, 212, 150, 106, 75大小, 再这五个层次分别提取,最后合成高维特
2015-01-26 00:35:33
2087
原创 OpenGL SuperBibe:第六章 非存储着色器
默认对应的是OpenGL SuperBibe 第五版中文版。为什么不是最新版?因为最新版没有中文版。为什么不是英文版,因为我也是新手,很多概念不清楚的情况下去看英文版有点吃力。----------------------------------------------------------------这里非存储的意思是相对于内置着色器而言的。表示在客户端编写着色器代码,再发送到服务端编译
2015-01-26 00:02:40
1480
原创 Eigen sparse 基本操作:构造 & 输出
#include #include "Eigen/Sparse"int main(){ Eigen::SparseMatrix m(3, 3); std::vector > triple; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { triple.push_back(Eigen::Triplet(i,
2014-10-10 19:55:27
6382
原创 Non-Photorealistic Rendering (Domain transform for edge-aware image and video processing)
opencv 3.0 的photo模块有Non-Photorealistic Rendering 可以将进行bao'bian
2014-08-26 20:47:25
5180
1
原创 seamless_cloning (Possion Image Editing)
opencv3.0 photo 模块加入了seamless_cloning类。该
2014-08-25 17:54:30
11714
原创 vs2012转到vs2013:无法启动此程序,因为计算机中丢失MSVCP110.dll, msvcr110d.dll
将项目从vs2012转到vs2013可能出现这个问题。最简单的方法就是将ms
2014-08-11 11:36:51
19587
原创 The Way They Move: Tracking Muitiple Targets with Similar Appearance文章思想及其代码分析
Ø 将【8】中的公式。。的约束条件改为。。。Ø 通过以上更改之后需要使用GLA进行求解。本文使用的是一个该求解方法的toolbox
2014-05-13 16:09:05
2681
5
原创 安装CTEX,系统path找回方法
今天装PATH环境变量,在没重启的情况下,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment下找回,还有一个HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment,系统当时保存的环境变量。
2014-05-02 19:47:04
4861
1
原创 php异常处理
全面的知识请参考:http://www.w3school.com.cn/php/php_exception.asp下面是自己的一点认识:php的异常基本是这样子的:<?phpclass customException extends Exception { public function errorMessage() { //error message $errorM
2013-09-06 14:34:59
871
原创 关于可变参数(不定参数),以及windows下将进程的cpu,内存统计信息写到日志
单纯的写日志,没必要使用可变参数,但是不利于封装,代码难看,今天研究了一下可变参数先查看手册:http://www.cplusplus.com/reference/cstdio/vsprintf/?kw=vsprintf functionvsprintfint vsprintf (char * s, const char * format, va_lis
2013-07-18 10:30:07
1862
转载 TIME_WAIT,CLOSE_WAIT
在TCP断开的过程中会有四个状态变化过程,如下图所示:在连接撤销过程中,有如下过程: 1.HOST1上的应用程序关闭己方的连接导致TCP发送一个FIN消息给HOST2。2.HOST2发送一个确认消息给HOST1,并且HOST2把FIN作为EOF递交给HOST2上的应
2013-07-15 15:46:26
967
原创 ubuntu qt opencv 安装 解决Cannot connect creator comm socket 和 Circular all <- first dependency dropped.
这下必须记录一下了。这东西实在太烦了,搞了好久。尝试过很多方法,一下方法可行。别的也许可行,本人没搞定。。1. opencv 安装参考http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/非常完整,应该没有失败的可能。2. qt 安装参考:http
2013-07-15 11:56:26
3389
转载 ubuntu linux 备份与恢复
Ubuntu如何备份和恢复系统http://wsfei.iteye.com/blog/1100534在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Wi
2013-07-11 14:45:49
1002
转载 Ubuntu 12.04下编译安装 GCC4.1.2 matlab 低版本gcc
最近在了解分布式文件系统, 看到了淘宝自己的开源分布式文件系统 tfs, 因为他要求编译最好是使用 4.1.2 版本的 gcc 编译, 因此需要安装此版本的 gcc.其他少说, 直接开始安装吧:1. 下载&解压源码$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2$ tar xvjf gcc-4.1.2.tar.
2013-07-10 20:06:11
3512
2
转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)
转自:http://blog.youkuaiyun.com/jia_xiaoxin/article/details/2868216关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开
2013-07-06 13:50:44
761
转载 深入理解linux i节点(inode)
深入理解linux i节点(inode) 对于Unix系列的操作系统,大多都有v节点。但是对于linux来说,只有通用的i节点,却没有v节点。下面来探讨一下,linux下的i节点。 linux中,文件查找不是通过文件名称来查找的。实际上是通过i节点来实现文件的查找定位的。我们可以形象的将i节点看做是一个指针fip。当文件存储到磁盘上去的时候
2013-07-01 17:08:54
14632
1
转载 $IFS
转自:http://bash.cyberciti.biz/guide/$IFSThe IFS is a special shell variable.You can change the value of IFS as per your requirments.The Internal Field Separator (IFS) that is used for word splittin
2013-06-23 14:21:30
1068
转载 [Linux] 刚学习shell,碰到问题.执行时总出错:unexpected operator(转载)
刚学习shell,碰到问题.执行时总出错:unexpected operator.用的是ubuntu 9.04.跟这学习鸟哥的私房菜到了shell script那一节,脚本如下:#!/bin/bash# Program:# This program shows the user's choice# History:#
2013-06-20 19:54:41
5464
原创 linux shell 学习
首先恭喜你,看了这个文章,推荐两本书,linux shell 脚本攻略, shell脚本学习指南 ^_^ 。免积分下载地址为:http://download.youkuaiyun.com/detail/vsooda/5583263shell脚本学习指南大概很多人都看过,但是看完之后对于shell能干什么,可能并不十分清楚,而linux shell 脚本攻略则以一个个任务的形式,用脚本解决。 而且有详细
2013-06-15 09:32:44
5791
原创 多线程问题及面试题目
主要来自morewindows博客。1.主线程创建子线程并传入一个指向变量地址的指针作参数,由于线程启动须要花费一定的时间,所以在子线程根据这个指针访问并保存数据前,主线程应等待子线程保存完毕后才能改动该参数并启动下一个线程。这涉及到主线程与子线程之间的同步。(线程保存的编号可能被修改,于是线程编号就可能出现了重复的情况)2.子线程之间会互斥的改动和输出全局变量。要求全局变量的
2013-06-01 20:17:42
1244
原创 十五、在应用程序中使用虚拟内存
windows提供一下三种机制来对内存进行操控:虚拟内存:最适合用来管理大型对象数组或大型结构数组内存映射文件: 最适合用来管理大型数据流,以及在同一机器上多个进程共享数据(17章)堆:最适合用来管理大量的小型对象windows提供了一些用来操控虚拟内存的函数,我们可以通过这些函数直接预定地址空间区域,给区域调拨(来自页交换文件的 )物理存储器。以及根据自己的需要来设置页面的保护属
2013-05-30 16:41:59
1051
原创 十四、探索虚拟内存
GetSystemInfoGlobalMemoryStatus 虚拟内存状态非统一内存访问(numa),机器中的cpu既能访问自己节点的内存,也能反问其它结点的内存。工作集; 我们把一个进程的地址空间中被保存在内存里的那些页面称为工作集。 getprocessMemeroinfovirtualQuery太粗略,未完待续。。。
2013-05-30 16:06:07
807
原创 十三、windows内存体系结构
1. 内核模式分区。 这一分区是操作系统代码的驻地。与线程调度,内存管理,文件系统支持,网络支持以及设备驱动程序相关的代码都载入该分区。驻留在这一分区的任何东西都为所有进程所用。受保护。如果一个应用程序试图读取或写入位于这一分区中的内存地址,会引发访问违规。2. 当系统创建一个内存并赋予它地址空间时,可用地址空间中的大部分都是闲置的或者尚未分配的。为了使用这部分地址空间,我们必须调用virtu
2013-05-30 16:02:45
1591
原创 在mfc程序中,打开控制台窗口的方法
在OnInitDialog函数返回之前加入,就可以观察控制台输出。AllocConsole();freopen("CONOUT$", "a+", stdout);
2013-05-30 15:36:37
7175
原创 十、同步设备I/O与异步设备I/O(I/O完成端口)
I/O完成端口是一种有无数用途的绝佳的线程间通信机制1. 打开和关闭设备 设备:能够与之进行通信的任何东西 createFile可以打开很多设备 缓存,标志2. 使用文件设备设置文件指针位置以及如何改变文件大小每个文件内核对象都有自己的文件指针如何追加内容到文件结尾,如何写入。3. 执行同步设备I/OreadFile writeFile
2013-05-30 15:25:50
1154
原创 九、用内核对象进行同步
信号,互斥量,事件,可等待计时器1. 关键段只能对同一进程的线程进行同步,且无法设置最长等待时间,所以容易死锁。 使用内核对象的唯一缺点是它们的性能。调用本章的函数,线程都需要从用户模式切换到内核模式。 内核对象状态:触发signaled,未触发 nosignaled 为了理解,可以把内核对象当作旗帜,触发,旗帜升起,未触发,旗帜降下。当线程等待的对象处于未
2013-05-30 13:52:59
880
原创 八、 用户模式下的线程同步
1. 在一下两种基本情况下,线程之间需要相互通信: (1). 需要让多个线程同时访问一个共享资源,同时不能破环资源的完整性 (2) . 一个线程需要通知其他线程某些任务已完成。2. 原子访问。 Interlocked 系列函数 Iterlocked在x86的实现方式: Interlocked会在总线上维持一个硬件信号,这个信号会阻止其他cpu访问同一内存地址
2013-05-30 11:28:13
977
原创 七、线程调度优先级和关联性
1. 线程切换 --> 上下文切换2. 抢占式调度,很多线程无法调度。因为他们都在等待某种事情发生 p1663. 挂起和恢复 suspendThread 挂起 ResumeThread 恢复 对挂起进行计数,例如一个线程被挂起三次,则需要回复三次才能被调度。 在实际开发中,使用suspendThread要小心,若挂起一个正在堆中分配内存的线程,会导致其它线程不能
2013-05-30 11:05:28
1066
原创 六、 线程
1. 线程 = 线程内核对象 + 线程栈 线程栈用于维护线程执行时所需的所有函数参数和局部变量2. 线程共享同一地址空间,线程共享内核对象句柄,因为句柄表是针对每一个进程的而不是针对线程的。3. 进程所使用的系统资源更多。其原因在于地址空间。(为一个进程创建一个虚拟的地址空间需要大量的系统资源,系统中会发生大量的记录活动,而这需要大量的内存)4. 所有窗口应该由同一个线程创
2013-05-30 10:49:15
835
原创 五、 作业
1. 想结束一个进程及其子进程在windows下很难,因为windows没有维护进程间的父子关系2. windows 提供一个作业内核对象,它允许我们将进程组合在一起并创建一个“沙箱”, 来限制进程能做什么3. 只有在作业中的所有进程都已终止运行之后,才会自动销毁4. 作业的cpu时间使用完,会杀死作业的所有进程待细化。。
2013-05-30 10:32:47
829
原创 四、进程
1. 进程 = 一个内核对象 + 一个地址空间2. 进程的实际执行者是线程 cpu调度的也是线程。 进程是最有惰性的,进程从来不执行任何东西,它只是一个线程的容器。3. hInstanceExe的实际值是一个内存基地址, 系统将可执行文件的映像加载到进程地址空间的这个位置。vs的基地址通常是0x00400000。 GetModuleHandle返回可执行文件或者dll文件映像加载到
2013-05-30 10:29:31
809
原创 windows via c/c++ 三. 内核对象
1. 内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问,这个内存块是一个数据结构,其成员维护着与对象相关的信息。2. 调用一个创建内核对象的函数后,函数会返回一个句柄,它标识所创建的对象。这些句柄是进程相关的,无法直接在另一个进程通过句柄值调用。3. 内核对象在创建时,通常要指定其安全性,可以据此判定内核对象4. 进程终止时,系统能保证一切都被正确清除。5.
2013-05-30 10:12:43
1455
转载 全面介绍Windows内存管理机制及C++内存分配实例
转自:http://blog.youkuaiyun.com/yeming81/article/details/2046193本文基本上是windows via c/c++上的内容,笔记做得不错。。本文背景:在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。本文目
2013-05-30 09:44:10
30182
1
计算机视觉:一种现代方法(第二版)清晰文字版(英文版)
2013-03-14
线性规划与网络流题解
2012-09-26
OpenCV 2 Computer Vision Application Programming Cookbook 全
2012-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人