摘要:
协方差矩阵的详细说明转自http://blog.csdn.net/faceRec/article/details/1697362在做人脸识别的时候经常与协方差矩阵打交道,但一直也只是知道其形式,而对其意义却比较模糊,现在我根据单变量的协方差给出协方差矩阵的详细推导以及在不同应用背景下的不同形式。变量说明:设为一组随机变量,这些随机变量构成随机向量,每个随机变量有m个样本,则有样本矩阵(1)其中对应着每个随机向量X的样本向量,对应着第i个随机单变量的所有样本值构成的向量。单随机变量间的协方差:随机变量之间的协方差可以表示为(2)根据已知的样本值可以得到协方差的估计值如下:(3)可以进一步地简化为 阅读全文
摘要:
一.四元组基础Q(x,y,z,w),其中x,y,z用来确定旋转轴,w为旋转的角度Q=w+xi+yj+zk,i,j,k为三个虚轴的单位分量I*j=kJ*k=i;K*i=j;叉乘:c=a × b=| i j k||a1 b1 c1||a2 b2 c2|=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)c也为一个向量,且c的长度为|a||b|sin(theta),垂直于a和b所在的平面,方向由右手法则来判定,用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向1. 四元组相乘:Q1=w1+x1i+y1j+z1k=(w1,v 阅读全文
摘要:
5 Hardware Buffers顶点缓存,索引缓存以及像素缓存的大多数特性都是从HardwareBuffer继承的,一个硬件缓存的一般前提是它是一个内存块,在这里你能做想要的任何事情,缓存本身没有格式与它相关,二是与使用它的方法相关。也就是说,硬件缓存就像使用”malloc”分配的内存块,只不过区别是它位于GPU或者AGP中。相关知识:三种内存:AGP内存,显卡本地内存,系统内存。其中我们都知道显卡本地内存就是显存,系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的时候,如果你运行一个需要很多纹理的3D程序,那么显存一 阅读全文
摘要:
转自http://blog.csdn.net/sandyqy/article/details/3327867最近看书,看到了引用,对其用法不是很了解。从各处汇总了一些知识,如下:什么是引用引用是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符&引用名=目标变量名;【例1】:int aint &ra=a;//定义引用ra,它是变量a的引用,即别名对引用的几点说明(1)&在此不是求地址运算,而是起标识作用。(2)类型标识符是指目标变量的类型。(3)声明引用时,必须同时对其进行初始化。(4)引用声明完毕后,相当于目标变量名有两个名称 阅读全文
摘要:
Context对象有两种初始化方式Context::Init封装了xnInit,里面进行这几个操作<1>XnOSInit:xnOSStartHighResTimer(&g_xnOSHighResGlobalTimer);typedef struct XnOSTimer{ XnDouble dTicksPerTimeUnit; LARGE_INTEGER nStartTick;} XnOSTimer;XnOSTimer g_xnOSHighResGlobalTimer;xnOSStartHighResTimer里的主要内容:bRetVal = QueryPerformance 阅读全文
摘要:
摘自:http://blog.sina.com.cn/s/blog_5f99aed00100d7pw.html Mipmap在3D图形学中主要是用来做anti-aliasing,这跟图像学中的概念是一致的:图像在缩小时因为采样率不够,就会导致混叠现象,如果是线,就表现为断线,如果是纹理比较复杂,就表现为纹理变得杂乱。在图形学中,我们经常会用到纹理贴图(注意:图形学中的纹理与图像学中的是两个概念,图像中一般将图片中较复杂的区域,即频谱能量高的,称为纹理;图形学中将用来贴图的图片统称为纹理),用来贴图的纹理大小与真正要render的区域不一定是刚好匹配的,这样就需要做放大或缩小,如果缩小,也就会产 阅读全文
摘要:
#include "stdafx.h"#include <XnCppWrapper.h>using namespace xn;#define SAMPLE_XML_PATH "e:/SamplesConfig.xml"#define CHECK_RC(rc,what) \ if (rc != XN_STATUS_OK) \ { \ printf("%s 失败!: %s\n", what, xnGetStatusString(rc)); \ \ } \ else \ { \ printf("%s 成功!: %s\n 阅读全文
摘要:
一.使用流程要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll文件放到当前目录下,就完成配置可以使用sqlite了。使用的过程根据使用的函数大致分为如下几个过程:sqlite3_open()sqlite3_prepare()sqlite3_step()sqlite3_column()sqlite3_finalize()sqlite3_close()这几个过程是概念上的说法,而不完全是程序运行的过程,如sqlite3_column()表示的是对查询获得一行里面的 阅读全文
摘要:
大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做到一些传统刚性类型数据库所不可能做到的事。1. 存储类和数据类型每个存放在sqlite数据库中(或者由这个数据库引擎操作)的值都有下面中的一个存储类:l NULL,值是NULLl INTEGER,值是有符 阅读全文