自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小柯的博客

每天进步一点点,坚持下来也会有大进步

  • 博客(70)
  • 资源 (8)
  • 收藏
  • 关注

原创 [Opencv源码阅读]HogDescriptor

Opencv中hog特征提取写在类HOGDescriptor中 默认的构造函数如下: CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1),

2014-12-31 17:33:50 2262

原创 [Opencv源码阅读]InputArray和OutputArray

概述InputArray和OutputArray两个类都是代理数据类型,用来接收Mat和Vector<>作为输入参数,OutputArray继承自InputArray。InputArray作为输入参数的时候,传入的参数加了const限定符,即它只接收参数作为纯输入参数,无法更改输入参数的内容。而OutputArray则没有加入限定符,可以对参数的内容进行更改。 InputArray

2014-12-09 09:32:10 15095 2

原创 Cascade分类器训练

准备数据   训练的过程其他方法的训练大致一样,首先是准备正样本,负样本,然后交由训练程序进行训练。 Opencv里面自带的Cascade训练器在准备数据的时候有点不一样,它要求将正样本图片写入到一个vec二进制文件中(这应该是为了在训练的时候方便并行运算),opencv提供了一个程序opencv_createsamples来生成vec文件,使用该程序需要按下面的格式准备好正负样本数据。

2014-12-08 17:43:18 4654

原创 NGUI之位置尺寸相关

1 尺寸与位置通过UIWidget类获取,该类是所有UI元素的基类在unity中创建一个sprite,如下图所示这里面这个sprite的大小受几个属性的影响,首先是属性面板里的Dimensions,对应的UIWidget成员为width和height字段,然后是其上层节点和自身scale属性。1.1 局部大小// Local space corners

2014-03-24 16:45:11 15023

原创 unity material之tiling和offset属性

在Unity中,使用材质或者着色器是通过创建一个材质来实现的,新建一个材质,会要求选择使用哪个着色器,默认的是Diffuse着色器。确定了着色器后,在材质属性面板中就会出现该着色器需要用到的一些属性,一般是贴图及对应的属性。材质中贴图均有tiling和offset两个属性,它们用来定义当前材质球所使用的贴图区域(直接将贴图贴到平面上一般会出现X和Y坐标倒置的问题,这个时候可以将ti

2014-02-17 17:16:54 36850 3

原创 Transform.LookAt解析

LookAt函数的定义如下void LookAt(Transformtarget,Vector3worldUp = Vector3.up);ParameterstargetObject to point towardsworldUpVector specifying the upward direc

2014-02-14 15:58:02 55266 4

原创 unity character controller

背景在使用摄像机游览场景的时候,需要控制摄像机不穿透场景中的物体,这需要用到碰撞。在unity物理引擎中有两类的情况可以检测到碰撞,一种是一方是刚体+碰撞器和另一方碰撞器碰撞(参加碰撞器和刚体),另一种就是Character Controller与其他的碰撞器碰撞的时候在使用摄像机游览场景的时候,虽然需要去碰撞检测,但是一个特别的要求就是摄像机和其他物体碰撞之后不能对它们产生任何力的作

2014-01-07 14:01:51 38655

原创 unity3d四元数和旋转矩阵

一 四元数Quaternion中存放了x,y,z,w四个数据成员,可以用下标来进行访问,对应的下标分别是0,1,2,3。主要介绍几个函数 根据两个向量计算出旋转量,计算出来的旋转量为从fromDirection旋转到toDirection的旋转量staticQuaternionFromToRotation(Vector3fromDirection

2013-08-31 13:36:23 42795 2

原创 unity3d摄像机

主要来自unity3d reference,再加上一些自己的理解一 概述摄像头是用于将世界场景投影到屏幕的设备。可以在场景中放置不限数目的摄像机,它们可以设定成任意的渲染次序,渲染到屏幕上的任意地方。摄像机实质上是用于将游戏显示给玩家看,它们可以被定制,在上面写脚本或者挂载到其他物体上面以获得想象中的各种效果。对于一个猜谜的游戏,可能只需对游戏的全部视图保持摄像机静止即可。对于第一

2013-08-21 18:37:07 34311 2

原创 unity3d脚本编程

一 创建和使用脚本1 概述GameObject的行为都是被附加到其上面的组件控制,脚本本质上也是一个组件。在unity中创建一个脚本,默认内容如下:using UnityEngine;using System.Collections;public class MainPlayer : MonoBehaviour {// Use this for initiali

2013-08-21 18:32:12 21334 1

原创 C# interopService之使用p/invoke进行数据封组

参见Marshaling Data with Platform Invoke要调用从非托管库导出的函数,一个.net框架程序需要一个在托管代码中定义好该函数的函数原型。为了创建一个能让系统调用正确进行数据封组的原型,必须做到如下几点:应用DllImportAttribute到托管代码中的静态函数或方法使用托管数据类型替换非托管数据类型平台调用数据类型下面

2013-08-21 18:22:34 3166

原创 C# interopservice之默认封组行为

参见default marshaling behaviourinterop封组器(marshaler)的内存管理interop封组器总是会试图去释放由非托管代码分配的内存。这个行为和COM内存管理一致,但是和原生C++内存管理规则不同。从C++中调用下面的函数不会自动释放任何内存BSTR MethodOne (BSTR b) {    return b;}注:BST

2013-08-21 18:12:18 2526

原创 C#调用非托管DLL函数

一 概念运行时处于控制之下的代码称为托管代码,反之,在运行环境(runtime)之外运行的代码称为非托管代码。平台调用(来自consuming unmanaged dll functions)是一个可以使托管代码调用在DLL中实现的非托管函数,例如那些win32 API。它找到和调用导出的函数,同时根据需要将函数的参数(整形,字符,数组,结构体等等)通过互操作边界(interopera

2013-08-19 17:54:41 3767 1

原创 最大类间方差法(OTSU)求阈值

参见论文原文(a threshold selection method from gray-level histograms)最大类间方差的基本思想是使用一个阈值将整个数据分成两个类,假如两个类之间的方差最大,那么这个阈值就是最佳的阈值。方差的定义假设使用一个阈值T,将灰度级[1 L]分割成两个类[1 T-1]和[T L],那么有那么被k分割出来

2013-07-27 12:44:58 33038 2

原创 摄像机成像、畸变模型

一 摄像机成像模型成像的过程实质上是几个坐标系的转换。首先空间中的一点由世界坐标系转换到摄像机坐标系,然后再将其投影到成像平面(摄像机的CCD),最后再将成像平面上的数据转换到图像平面(最后生成的图像)。  图1-1世界空间内的一个点在图像上成像的过程称为投影成像过程,这中间转换过程构成的矩阵M称为投影矩阵。摄像机的畸变参数与相机成像时采用的分辨率无关,而fx,fy

2013-07-22 17:37:42 30350 5

原创 使用SVD求最小二乘刚性转置

参见文章(Least-Squares Rigid Motion Using SVD)一 问题描述假设P={p1,p2,...,pn}和Q={q1,q2,...,qn}是两组Rd空间中的对应点集,现在想要根据这个两个点集的数据来计算出它们之间的刚性转置信息,可以知道这其实是一个最小二乘求优问题,问题可以用如下计算式描述:其中wi>0,是点集中每个点对的权重。要求(1)

2013-07-17 18:24:04 7916 5

原创 旋转和反射

一 概述旋转即为绕一个轴进行旋转,参见博文“三维旋转基础”,这里主要讨论反射,但是反射与旋转也存在一定的联系。一个平面内的旋转可以通过组合一组的反射形成,如下图所示直线L1和L2的夹角为a,角点为O,一点P经过L1反射得到P’,然后再经过L2反射得到P’’,这个时候POP’’的夹角为2a(等腰三角形被中垂线分割即可证明)。现在定义绕原点旋转一个角度a为R(a

2013-07-17 15:59:46 7258

原创 三维旋转基础

一 旋转矩阵旋转矩阵(右手坐标系)绕X轴旋转绕Y轴旋转绕Z轴旋转绕某个向量v绕XYZ旋转x,y,z进行旋转。v’ = Rz*Ry*Rx*v;Matlab代码如下syms sinx cosx siny cosy sinz cosz;Rx = [1 0 0;0 cosx -s

2013-07-01 10:25:09 5371

原创 Maya DG插件

一 概述不要把DG(Dependency Graph)和DAG混淆,依赖图中的节点是用来负责控制动画和维护网格构建历史的,而DAG中的节点则用于定义外形节点以及它的空间位置。DG插件的开发实质上是创建一些新的节点,将这些节点添加到依赖图中即可形成新的操作。Maya提供了十二种基本的类,派生自它们可以实现各种所需的功能。DG插件开发就是创建派生自这些基本类的新类,这些类都是以”MPx

2013-06-22 16:43:19 3703

原创 Maya DAG结构

1 DAG结构maya中,一个直接非循环图(directed acyclic graph,DAG),定义了元素的位置,旋转以及比例。DAG由两类的DAG节点组成,transform(空间位置信息)和shape(模型网格信息)。Transform节点维护了转置信息,包括位置、旋转、伸缩比例以及父级节点的对应信息。Shape节点存放的是模型几何数据的引用。在最简单的情形中,

2013-06-22 16:01:44 4956

原创 Maya命令型插件

一 基础概念这里主要介绍用Maya C++ API进行插件开发的一些基本概念。1 对象类型Maya API包含了四种类型的对象:Wrappers,Objects,Function Sets以及Proxies,这四种对象构成了Maya API所有内容。 WrappersWrapper是API提供的一个基础性的类,它包含了一些基础数据类,实用的工

2013-06-22 15:53:37 2832

原创 opencv矩阵元素类型

一基础1 位移操作移位操作有两种类型,一种是逻辑移位(logical shift)和算术移位(arithmetic shift)。逻辑移位中被移出的位被丢弃,空缺位(variant bit)用0填充。算术移位中移出位被丢弃,空缺位用符号位填充。在c/c++中,整数分为有符号和无符号两种类型,它们的移位操作有所区别。对于无符号整数,左移右移均采用逻辑移位;对于有符号整数,右移使用算术

2012-12-18 14:23:50 7388 2

原创 MAYA MEL 基础

MAYA MEL 基础1 MEL代码基础 1.1数据类型int存放整数,一般为32位,有些平台可能为64位,默认值为0float       存放实数,类似于C中的double类型,一般为64位,但是有些平台可能也不一样,默认值为0.0string:字符串        用双引号包围起来,字符串的基本操作有:连接(使用”+”号将两个字符串连接),求长(使用size函

2012-06-06 18:45:43 13485 1

原创 稀疏矩阵库umfpack和Eigen结合

又是一个月了,这个月前面大多数的时间都在看网格变形的paper,后面这段时间又要搞Ogre,日子过得很混乱,完全没有什么时间来整理学过的东西。在这个月末的时候还是贴篇文章表示还在好好学习。   网格变形的论文看得理解了一点后就开始尝试实现,就开始到网上找稀疏矩阵库。一开始我使用的矩阵库是Eigen,风格跟matlab很像,但是没有实现稀疏矩阵运算的功能,虽然它预留了跟其他几个稀疏矩阵库的接口,

2011-11-30 17:31:45 6697

原创 直线和平面的交点

1.直线方程 两个顶L1和L2确定直线L,nL=L2-L1,则直线上的任意一点P = L1 + t*nL2.平面方程平面上三个顶点F1,F2,F3可以确定平面方程,V1=F2-F1,V2=F3-F1,nF = V1 X V2将nF归一化,nF=nF/n

2011-09-29 17:29:29 3949

转载 平面方程(Plane Equation)

平面方程原文链接:http://www.songho.ca/math/plane/plane.html飘飘白云 译(http://www.cnblogs.com/kesalin)(转载请注明出处以及作&译者信息,非商业用途)平面方程平面上的一点以及垂直于该平面

2011-09-29 16:33:12 2543

转载 使用ifstream和getline读取文件内容

转自 http://www.cnblogs.com/JCSU/articles/1190685.html假设有一个叫 data.txt 的文件, 它包含以下内容: Fry: One Jillion dollars.[Everyone gasps.]Au

2011-09-22 19:37:45 1074

原创 Ogre中使用Opencv加载视频作为纹理贴图

增强现实中经常要用到真实的2D视频图片再配合虚拟对象(如三维模型)结合,以达到增强现实的效果。这里使用Ogre结合Opencv来实现在开始前要先了解到纹理贴图的长宽必须是2的n次方,所以假如加载的视频没有达到这个值,必须做一下resize 1.创建动态纹理、背景框矩形

2011-09-21 11:06:08 3059

原创 Google Chrome快捷键

标签页和窗口快捷键Ctrl+N打开新窗口。Ctrl+T打开新标签页。Ctrl+Shift+N在隐身模式下打开新窗口。按 Ctrl+O,然后选择文件。在 Google Chrome

2011-09-03 14:42:54 697

转载 协方差矩阵的详细说明

协方差矩阵的详细说明转自  http://blog.csdn.net/faceRec/article/details/1697362在做人脸识别的时候经常与协方差矩阵打交道,但一直也只是知道其形式,而对其意义却比较模糊,现在我根据单变量的协方差给出协方差矩阵的详细推导以及

2011-09-03 14:40:02 1279

原创 四元数与旋转

一.四元组基础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

2011-09-03 12:01:24 8387 1

翻译 Ogre HardwareBuffer

5 Hardware Buffers顶点缓存,索引缓存以及像素缓存的大多数特性都是从HardwareBuffer继承的,一个硬件缓存的一般前提是它是一个内存块,在这里你能做想要的任何事情,缓存本身没有格式与它相关,二是与使用它的方法相关。也就是说,硬件缓存就像使用”mal

2011-09-03 11:57:32 1235

转载 引用的用法

转自http://blog.csdn.net/sandyqy/article/details/3327867 最近看书,看到了引用,对其用法不是很了解。从各处汇总了一些知识,如下: 什么是引用引用是某一变量(目标)的一个别名,对引用的操作与对变量直接操

2011-08-15 14:40:58 842

原创 openni录制文件

#include "stdafx.h"#include using namespace xn;#define SAMPLE_XML_PATH "e:/SamplesConfig.xml"#define CHECK_RC(rc,what) \

2011-08-02 14:58:20 2012 2

原创 sqlite3使用简介

一.使用流程要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll文件放到当前目录下,就完成配置可以使用sqlite了。使用的过程根据使用的函数大致分为如下几个过程:sqlite3_open()sqlite3_prepare()sqlite3_

2011-06-27 16:10:00 18118 3

翻译 sqlite3中的数据类型

大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的容器相关。Sqlite的动态类型系统和其他数据库的更为一般的静态类型系统相兼容,但同时,sqlite中的动态类型允许它能做

2011-06-27 14:55:00 3327

原创 回车和换行

回车和换行 对于程序中的回车和换行,一直都没有真正去弄清楚过,这次查了下资料把它理清下 1.由来在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解

2011-06-23 14:36:00 748

原创 stl::map,stl::multimap,boost::tuple使用简介

 一.Map1.前言在程序中,经常会遇见关联的数据对出现,可以把这个数据对中的一个称作索引值,另外一个称作关联值或映射值,假如索引值是整数的时候,可以采用数组或者向量存储这些数据对,但是假如索引值是其他的任意数据类型的时候,就需要用到map了 2.使用map#include map string, string> addresses;添加元素map中的第一个元素用于

2011-06-18 15:29:00 1640

原创 MFC中的窗口绘图问题

MFC中的窗口绘图问题 1.闪屏如果按照常规的绘图过程,即每做完一个绘图操作,就马上进行窗口刷新,当绘图过程比较密集的时候,由于没绘制一次就刷新一次窗口,而刷新窗口是需要一定延时的,这就导致了在上一次的刷新还没有完成的时候,这一次的绘图又到来了,这就是常见的闪屏现象(screen flicker) 2.双缓冲         要避免闪屏的问题,只需要对每次绘图都进行窗口刷新

2011-06-16 16:37:00 5673

原创 函数指针

函数指针的定义方式T  (*Func)(…) ;这样定义了一个返回类型为T的函数指针变量Func,可以用同类型的函数给Func赋值,然后调用Func就可以实现具体函数的调用,如: void MyFun(int x);    //这个声明也可写成:void MyFun( int );void (*FunP)(int );   //也可声明成void(*FunP)(int x),但习惯

2011-06-14 15:42:00 718

EXCEL之进销管理系统

在EXCEL里面采用对话框获取用户输入,然后自动填充表单,提高管理出入库的效率

2010-10-02

vba帮助文档chm

微软官方的VBA帮助文档,学习VBA时很好用,里面的知识很全面

2010-10-02

learning opencv 中文清晰版pdf

学习opencv中文清晰扫描版电子书,很好用,对学习opencv的人应该很有帮助的

2010-08-30

MAYA BVH 导入插件

把BVH文件导入MAYA生成骨骼,形成骨骼动画...

2010-08-24

swfobject动画嵌入

用于把SWF文件嵌入网页,使用非常方便,并且可以使用FlashVars

2010-03-06

IIS6缺失文件大全

安装IIS6时缺少的各种文件大全,都搜集在这里面了

2010-03-06

IIS owsadm

安装IIS5.1,IIS6是缺少的文件......

2010-03-06

vc自绘制制按钮 富文本

按钮根据鼠标的状态可以有不同的状态 可以自己作出修改

2009-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除