摘要: 1. 装载1) 进程的建立a. 创建一个进程内核对象当一个线程调用CreateProcess时,系统就会创建一个进程内核对象,其初始使用计数是1。该进程内核对象不是进程本身,而是操作系统管理进程时使用的一个较小的数据结构。可以将进程内核对象视为由进程的统计信息组成的一个较小的数据结构。b. 创建一个独立的虚拟地址空间我们知道一个虚拟空间由一组页映射函数将虚拟空间的各个页映射至相应的物理空间,那么创建一个虚拟空间实际上并不是创建空间而是创建映射函数所需要的相应的数据结构。c. 读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系当操作系统捕捉到缺页错误时,它应知道程序当前所需要的页在可执行文 阅读全文
posted @ 2011-02-10 21:34 aicro 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 我今天编写了一个opencv的程序。主要是把camshift算法包装成一个类,使用起来方便。然而,却遇到了如下的一个问题void CTest::funA(){ cvSetMouseCallback( "CamShift Adjust Window", &CTest::func,NULL); // cvSetMouseCallback函数的原型是 // void cvSetMouseCallback( const char* window_name, CvMouseCallback, void* param=NULL ); }但是这样一下,却出现了如下的编译错误err 阅读全文
posted @ 2011-02-10 19:45 aicro 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 一. Back Projection计算CamShift算法,即”Continuously Apative Mean-Shift”算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back Projection计算2) Mean Shift算法3) CamShift算法在这里主要讨论Back Projection,在随后的文章中继续讨论后面两个算法。Back Projection计算Back Projection的步骤是这样的:1. 计算被跟踪目标的色彩直方图。在各种色彩空间中, 阅读全文
posted @ 2011-02-10 14:37 aicro 阅读(1693) 评论(0) 推荐(1) 编辑