摘要: 本文转自http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 以及 http://blog.163.com/qianshch@126/blog/static/4897252220101048524568/ 感谢分享!优化算法入门系列文章目录(更新中): 1.模拟退火算法 2.遗传算法一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局... 阅读全文
posted @ 2013-03-08 19:51 milier_otw 阅读(1088) 评论(0) 推荐(0)
摘要: “一直都觉得粒子滤波是个挺牛的东西,每次试图看文献都被复杂的数学符号搞得看不下去。一个偶然的机会发现了Rob Hess(http://web.engr.oregonstate.edu/~hess/)实现的这个粒子滤波。从代码入手,一下子就明白了粒子滤波的原理。根据维基百科上对粒子滤波的介绍(http://en.wikipedia.org/wiki/Particle_filter),粒子滤波其实有很多变种,Rob Hess实现的这种应该是最基本的一种,Sampling Importance Resampling (SIR),根据重要性重采样。下面是我对粒子滤波实现物体跟踪的算法原理的粗浅理解.. 阅读全文
posted @ 2013-03-07 17:50 milier_otw 阅读(1030) 评论(0) 推荐(0)
摘要: (转至http://blog.csdn.net/leowangzi/article/details/5357163)这是我在VC6.0上配置Gsl的过程,希望对学习gsl的朋友有所帮助。一、GSL介绍GNU科学计算函数库GSL(GNUScientificLibrary)是一个强大的C/C++数值计算函数库,它是一个自由软件,是GNU项目软件的一个部分,遵循GPL协议。GSL是一个为C和C++程序员提供的科学数值运算库。该科学计算库异常强大,函数库提供了大量的数值计算程序,如随机函数、特殊函数和拟合函数等等,整个函数库大约有1000多个函数,几乎涵盖了科学计算的各个方面。提供了如下方面的支持:C 阅读全文
posted @ 2013-03-07 17:43 milier_otw 阅读(719) 评论(0) 推荐(0)
摘要: 最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。这两天关注的多核编程的工具包括openMP和TBB。按照目前网上的讨论,TBB风头要盖过openMP,比如openCV过去是使用openMP的,但从2.3版本开始抛弃openMP,转向TBB。但我试下来,TBB还是比较复杂的,相比之下,openMP则非常容易上手。因为精力 阅读全文
posted @ 2013-03-07 16:37 milier_otw 阅读(325) 评论(0) 推荐(0)
摘要: 解释一: 一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”——F.S. Hill, JR。 由于作者对齐次坐标真的解释的不错,我就原封不动的摘抄过来:对于一个向量v以及基Oxyz,可以找到一组坐标(v1,v2,v3),使得 v= v1*x+ v2*y+v3*z ... 阅读全文
posted @ 2013-02-28 20:11 milier_otw 阅读(585) 评论(0) 推荐(0)
摘要: 三者联系是很紧密的,模式识别说白了就是分类,而分类可以认为是数据挖掘的一部分,数据挖掘主要工作有分类、聚类、关联分析、离群点检测等;机器学习的范围更广,算法更多!但三者都要求有坚实的统计学基础,学的越扎实越好!“数据挖掘和机器学习的区别和联系,周志华有一篇很好的论述《机器学习与数据挖掘》可以帮助大家理解。数据挖掘受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。 简言之,对数据挖掘而言,数据库提供数据管理技术,机器学习和统计学提供数据分析技术。由于统计学往往醉心于理论的优美而忽视实际的效用,因此,统计学界提供的很多技术通常都要在机器学习界进一步研究,变成有效的机器学习... 阅读全文
posted @ 2013-02-26 22:18 milier_otw 阅读(680) 评论(0) 推荐(0)
摘要: 摄像机的标定问题是机器视觉领域的入门问题,可以分为传统的摄像机定标方法和摄像机自定标方法。定标的方法有很多中常见的有:Tsai(传统)和张正友(介于传统和自定标)等,摄像机成像模型和四个坐标系(通用原理)。摄像机模型采用经典的小孔模型,如图中Oc(光心),像面π表示的是视野平面,其到光心的距离为f(镜头焦距)。四个坐标系分别为:世界坐标系(Ow),摄像机坐标系(Oc),图像物理坐标系(O1,单位mm),图像像素坐标系(O,位于视野平面的左上角,单位pix)。空间某点P到其像点p的坐标转换过程主要是通过这四套坐标系的三次转换实现的,首先将世界坐标系进行平移和转换得到摄像机坐标系,然后根据三角.. 阅读全文
posted @ 2013-02-23 11:22 milier_otw 阅读(400) 评论(0) 推荐(0)
摘要: 读了一些混合编程的程序,然后由于项目需要,写了一些代码,但并没有看过混合编程方面的书籍,故讲解的不够全面及深入。在入门篇里讲解了环境的搭建及演示了一个hello word!程序:#include <mex.h>void mexFunction(int nlhs ,mxArray *plhs[] ,int nrhs, const mxArray *prhs[]){mexPrintf("Hello word!");}程序很简单,但和我们平常写的C程序并不一样,程序必须包含mex.h头文件。C的入口函数为mexFunction相当于我们常写的main函数,此函数没有返 阅读全文
posted @ 2013-01-22 19:22 milier_otw 阅读(473) 评论(0) 推荐(0)
摘要: 1、数据类型mxArray的操作 在上节的Matlab引擎函数中,所有与变量有关的数据类型都是mxArray类型。数据结构mxArray以及大量的mx开头的函数,广泛用于Matlab引擎程序和Matlab C数学库中。mxArray是一种很复杂的数据结构,与Matlab中的array相对应,我们只需熟悉Matlab的array类型和几个常用的mxArray函数即可。在VC中,所有和Matlab的数据交互都是通过mxArray来实现的,在使用mxArray类型的程序中,应包含头文件matrix.h,不过在引擎程序中,一般会包含头文件engine.h,该文件里面已经包含了matrix.h,因此无. 阅读全文
posted @ 2013-01-22 11:31 milier_otw 阅读(872) 评论(0) 推荐(0)
摘要: Fortran和matlab语言中的多维数组存储方式为列优先原则,内循环最好是列循环;而c语言中的多维数组存储方式为行优先原则,内循环最好是行循环。下面介绍何为行优先存储,何为列优先存储。例如二维数组Amn(1)行优先顺序 将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。 【例】二维数组Amn的按行优先存储的线性序列为:a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn 行优先顺序推广到多维数组,可规定为先排最右的下标。 二维数组Amn地址计算公式(数组存储结构以C语言下标表示): LOC(aij)=LOC(a11)+[(i... 阅读全文
posted @ 2013-01-21 23:20 milier_otw 阅读(1314) 评论(0) 推荐(0)