2012年7月6日

【转】 PGM图像处理方法详解

摘要: 机器学习中人脸识别程序中要用到的PGM图像格式说明【转自】:http://apps.hi.baidu.com/share/detail/33425100NET framework框架类库中的Image类和Bitmap类提供了常用图像格式的解析读取和存储,这些常用格式包括 BMP,JEPG,GIF,PNG,EXIF,TIFF.但是可惜的是不支持PGM格式,我们要自己来处理PGM格式的文件.1.PGM 图像详解PGM 是便携式灰度图像格式(portable graymap file format),在黑白超声图像系统中经常使用PGM格式的图像.文件的后缀名为".pgm",PGM 阅读全文

posted @ 2012-07-06 21:24 没有什么能够阻挡 阅读(1117) 评论(0) 推荐(0) 编辑

【转】 齐次坐标系

摘要: 【转自】: http://blog.csdn.net/wu_xiangwei/article/details/5519298一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill, JR。对于一个向量v以及基o a b c,可以找到一组坐标(v1,v2,v 阅读全文

posted @ 2012-07-06 21:24 没有什么能够阻挡 阅读(186) 评论(0) 推荐(0) 编辑

【转】OpenCV 编程入门

摘要: 【转自】:http://blog.csdn.net/wb_ustc/article/details/3166999OpenCV 编程入门美国伊力诺理工学院计算机科学系Gady Adam翻译:Mensch2006年11月22日内容简介OpenCV概述资料链接OpenCV 命名约定编译命令C程序实例GUI 命令窗口管理输入设备OpenCV 基础数据结构图像数据结构矩阵与向量其他数据结构图像处理创建与释放图像结构空间读入与存储图像读取图像元素图像转换绘图命令矩阵操作创建与释放矩阵结构空间读取矩阵元素矩阵/向量操作视频序列处理从视频序列中抓取一帧获取/设定帧信息存储视频文件简介OpenCV概述什么是O 阅读全文

posted @ 2012-07-06 21:23 没有什么能够阻挡 阅读(427) 评论(0) 推荐(0) 编辑

【转】GLUT函数说明

摘要: GLUT函数说明(转载)【转自】:http://www.cppblog.com/kyelin/archive/2010/08/18/123825.html一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。对应main函数的形式应是:int main(int argc,char* argv[]);这个函数从main函数获取其两个参数。void glutInitWindowSize(int width,int height);void glutInitWindowPosition(int x,int y);设置glut程序要产生的窗口的 阅读全文

posted @ 2012-07-06 21:22 没有什么能够阻挡 阅读(354) 评论(0) 推荐(0) 编辑

【转】 什么是句柄?为什么会有句柄?HANDLE

摘要: 【转自】:http://www.cppblog.com/mymsdn/archive/2012/05/15/74221.html#175037很好地解释了什么是句柄,句柄的作用。从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是"Handle",本义就是"柄",只是在计算机科学中,被特别地翻译成"句柄",其实还是个"柄"。从一个小东西拎起一大堆东西,这难道不像是个"柄"吗?然后,指针其实也是一种"句柄",只是由于指针同时拥有更特殊的含义——实实在在地对应 阅读全文

posted @ 2012-07-06 21:22 没有什么能够阻挡 阅读(175) 评论(0) 推荐(0) 编辑

VS 常用快捷键 整理

摘要: VS2005Alt +O : 头文件与cpp文件的交互显示 F12 :Goto definitionShift+F12 :Goto reference Ctrl+] :寻找下一半括弧 Ctrl+Shift+] :寻找下一半括弧并选定括弧之间的部分(包括括弧)(非常有用)Shift+Home :选定从当前位置到行首Shift+End :选定从当前位置到行尾Ctrl+X :剪切当前行Ctrl+Shift+L :删除当前行右键单击项目,+ R , 打开项目的属性设置页Ctrl+Z :UndoCtrl+Y :RedoCtrl+TAB 切换打开的文件视图,(如果按住Ctrl,顺序向后切换)CTRL + 阅读全文

posted @ 2012-07-06 21:21 没有什么能够阻挡 阅读(320) 评论(0) 推荐(0) 编辑

MFC 对话框编程 总结

摘要: 对话框创建方法: a. 先在Resource View 下 工程的Dialog文件夹中 右键 Insert Dialog 或Insert Resouce-> 选中 Dialog b. 然后在该对话框控件中,右键-》Add Class, 创建一个与之对应的类(如CTestDlg)。在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。使用对话框:1. 在要使用的文件中添加 b中生成的对话框类的.h文件,根据对话框类型, a. 若使用模态(Modal)对话框( 当对话框显示时,程序暂停,直到关闭这个对话框后,才能继续执行),则使用CTestDlg dlg;dlg.DoMo... 阅读全文

posted @ 2012-07-06 21:20 没有什么能够阻挡 阅读(353) 评论(0) 推荐(0) 编辑

【转】 C++STL 常用 函数 用法

摘要: 这么文章概况的比较详细和全面:http://www.cnblogs.com/duoduo369/archive/2012/04/12/2439118.html。这里重点看一下algorithm 文件中提供的算法1. reverse 函数(vector自带.reverse()方法)2. sort 函数: sort(v.begin(),v.end(),comp);// comp默认为升序 #include<iostream> #include<vector> #include<algorithm> using namespace std; bool Comp(c 阅读全文

posted @ 2012-07-06 21:19 没有什么能够阻挡 阅读(230) 评论(0) 推荐(0) 编辑

【转】OpenGL中的消隐处理

摘要: 转自:http://cs.hust.edu.cn/webroot/courses/csgraphics/jiaocai.php?bookpage=9_b9.2 OpenGL中的消隐处理多边形剔除在多边形表面模型中,一个面包括正面和反面,通常正面会被观察着看见,而反面通常看不见,这种看不见的面,可以直接进行消隐处理,这种处理可以使用OpenGL中的多边形剔除函数: glEnable(GL_CULL_FACE); glCullFace (mode);这里用GL_CULL_FACE符号常量调用glEnable函数表示开启多边形表面剔除功能。然后调用glCullFace函数指定多边形所要剔除的面,参数 阅读全文

posted @ 2012-07-06 21:18 没有什么能够阻挡 阅读(2368) 评论(0) 推荐(1) 编辑

【转】OpenGL光照处理

摘要: 转自:http://cs.hust.edu.cn/webroot/courses/csgraphics/jiaocai.php?bookpage=10_e10.5 OpenGL中的光照处理OpenGL点光源在OpenGL场景描述中可以包含多个点光源,光源的各种属性设置使用函数: void glLight{if} (GLenum light, GLenum pname, TYPE param); void glLight{if}v (GLenum light, GLenum pname, TYPE *param);指定。其中,参数light指定进行参数设置的光源,其取值可以是符号常量GL_LIG 阅读全文

posted @ 2012-07-06 21:17 没有什么能够阻挡 阅读(795) 评论(0) 推荐(0) 编辑

白噪声 高斯白噪声

摘要: 使用2D矢量场的 LIC(line integral convolution) 算法时,需要使用 白噪声图片 作为输入。查阅了相关资料。整理如下:1. 白噪声的定义 白光是所有颜色的光的叠加而成,不同颜色的光本质区别是他们的频率不同(如 红光频率低、紫光频率高)。与白光类似,白噪声在功率谱密度上(若以频率为横轴,信号幅度的平方为功率(在纵轴上))分布为常值,即从高频到低频各种频率的噪声都有(从频域上考虑),也即每个时刻出现的噪声幅值都是随机的(从时域上考虑)。2. 高斯白噪声的定义高斯分布又名正态分布。(正态分布的概率密度函数曲线图,见http://zh.wikipedia.org/wiki/ 阅读全文

posted @ 2012-07-06 21:11 没有什么能够阻挡 阅读(3843) 评论(0) 推荐(1) 编辑

vector.size() 注意点

摘要: 使用 vector.size() 时,要注意前面加个 int 型 强制转换符。即(int) vectorA.size().否则若使用一个整型变量与之操作,并将结果赋值给一个 double 型变量,会有问题。如:int i=0;sequence.resize(500);double x =i- sequence.size()/2;得到的x不是 -250 ,而是4294967046.0000000。因此要养成习惯,对size()及时进行强制转换。即:double x =i- (int)sequence.size()/2; 阅读全文

posted @ 2012-07-06 09:21 没有什么能够阻挡 阅读(472) 评论(0) 推荐(0) 编辑

导航