- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 张正友标定LM优化...
引用 learnhard对于LM的说明,本人完全同意他的说法, LM算法可用于解决非线性最小二乘问题。多用于曲线拟合等场合。 LM算法的实现并不难,这里不讨论使用MATLAB等工具直接得到结果的过程,使用那些工具对于算法编程能力的提高无任何益处。 LM算法的关键是用模型函数 f 对待估参数向量p在其领域内做线性近似,忽略掉二阶以上的导数项,从而转化为线性最小二乘问题,它具有收敛速度快等优点。 L
2008-06-23 11:41:00 6595 9
转载 通用MAKEfile模板
Makefile 模板# 下面的变量可以在shell 的环境变量里面指定。# 也可以象下面这样在 Makefile 里面指定。# CC=gcc # 编译器# CFLAGS=-Wa
2011-08-04 00:11:35 386
转载 Linux下线程池
http://blog.csdn.net/hinyunsin/article/details/6650879#comments
2011-08-04 00:07:55 362
原创 make file 样例
CC = g++CFLAG = -o2 -Wall -g -w -ggdb #警告提示,可以产生调试文件LIB_FLAG = -L/usr/local/lib -L./lib INCLUDE = -I./include -I/usr/local/include/opencv/M
2011-07-24 10:45:07 614
原创 Codeblocks LOG区域的乱码问题
<br />在RHEL中用CODEBLOCKS有一段时间了,之前对于其log&other中的乱码问题一直懒得去搞,今天在调试一个大程序的时候,一直被这个困扰,本来以为是中文乱码问题,所以就找了下网上关于中文包的<br /> <br />按照网上说的解压后放到 ****/locale/zh_CN/codeblock.m (***)表示codeblock安装目录。<br /> <br />然后去指定的菜单项中设置,中文。<br /> <br />但是我怎么搞结果还是一样log&other窗口中还是乱码。<b
2010-08-11 16:02:00 999
原创 CUDA SDK linux下出错 "cannot find -lglut"
<br />当在LINUX下对cuda程序进行编译的时候,有的系统中可能会出现类似<br />cannot find -lglut<br />或者<br />/usr/bin/ld:skipping incompatiable /usr/lib/libglut.so when searching for -lglut/<br />cannot find -lglut<br /> <br />其原因就是由于有些系统中的库不存在的问题导致<br /> <br />解决方法<br /> <br />首先查看库是否
2010-06-11 16:50:00 3319 1
原创 SVN的配置及权限设置
conf/authz### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizatio
2010-05-24 11:09:00 515
转载 你的成功在于你每天养成的习惯
要成功,就马上准备有所付出吧!这就是每天你应该养成的习惯。 1、不说“不可能”; 2、凡事第一反应: 找方法,不找借口; 3、遇到挫折对自己说声:太好了,机会来了! 4、不说消极的话,不落入消极的情绪,一旦发生立即正面处理; 5、凡事先订立目标; 6、行动前,预先做计划; 7、工作时间,每一分、每一秒做有利于生产的事情; 8、随时用零碎的时间做零碎的事情; 9、守时; 10、写点日记,不要太依靠记
2010-04-14 16:48:00 388
转载 SIFT/SURF算法的深入剖析——谈SIFT的精妙与不足
SURF算法是SIFT算法的加速版,opencv的SURF算法在适中的条件下完成两幅图像中物体的匹配基本实现了实时处理,其快速的基础实际上只有一个——积分图像haar求导,对于它们其他方面的不同可以参考本blog的另外一篇关于SIFT的文章。不论科研还是应用上都希望可以和人类的视觉一样通过程序自动找出两幅图像里面相同的景物,并且建立它们之间的对应,前几年才被提出的SIFT(尺度不变
2010-04-14 14:55:00 1399
转载 TCP与UDP的区别
中国移动、中国联通推行的GPRS网络、CDMA网络已覆盖大量的区域,通过无线网络实现数据传输成为可能。无线Modem采用GPRS、CDMA模块通过中国移动、中国联通的GPRS、CDMA网络进行数据传输,并通TCP/IP协议进行数据封包,可灵活地实现多种设备接入,工程安装简单,在工业现场数据传输的应用中,能很好的解决偏远无网络无电话线路地区的数据传输的难题。同传统的数传电台想比较,更具有简便性、灵活
2010-03-19 13:25:00 717
原创 STL MAP自定义主键
struct KeyWord{ int iImgID; //图像ID int iDatabaseID; //所属类别ID //需要重载结构的小于符号 bool operator < ( const KeyWord rhs) const { return iImgID < rhs.iImgID || iImgID == rhs.iImgID && iData
2010-03-19 12:56:00 527
原创 数组的初始化--调试和运行
对于数组初始化问题,很多时候我都是做了,无论是静态开辟的还是动态开辟的,基本在开辟之后都进行了初始化,前两天在拿到一个别人的方法进行调用的时候,就在之前的基础上面改了下风格,比如变量和数组的初始化等等,但犯了如下这个错误:其中一段是int *a = NULL;a = new int[XXXX];memset(a, 0, XXXX); 本来应该写成 memset(a, 0, XX
2010-01-12 09:25:00 436
转载 DOXYGEN注释宏使用步骤及常见问题解决方法
步骤1 :下载doxygen的binary 包doxygen下载地址http://www.10.xdowns.com/uploadFile/2007-7/doxygen.rar为了使doxygen能够将类图、协作图等 加入到文档中,还要下载安装graphviz for win。graphviz 2.18下载:http://www.graphviz.org/pub/graphvi
2009-12-22 14:52:00 1637
原创 恐怖的数组越界错误···
通常情况下我们谈到数组越界或者是野指针的错误问题,总是像书中说的那样,那样会带来非常非常严重的错误,甚至崩溃。是的,大家几乎看到所有书中的说明时候可能也还是一晃眼就过去了,自从这两天被这个错误折磨到了之后我才深深的体会到了这句话,呵呵。我的体会是错误并不可怕,调试和找到这个错误比较可怕。。。。。 情况是这样的,由于需求原因对于读进来的数据是变长的,于是对于变长的数据
2009-11-20 11:27:00 630
原创 课后作业
曾经,一个学生和往常一样放学后晚上完成老师布置的数学作业,平时他在两小时之内肯定能做完的题目,那天题目是:用铅笔和尺子画出一个正17边形,那学生做了两个小时却没什么头绪,这反而是激发了那个学生的斗志,结果整晚都没睡觉,把那道题目做出来了。第二天他将作业交给老师,老师非常惊讶的说:你一晚上就把这道题做出来了?!!那学生肯定的点点头,那老师非常激动的说:你只用一晚上就解决了这道困扰数学界2
2009-11-16 12:47:00 445
原创 使用MFC搜索当前目录下所存在的某种文件,将文件名(路径等)添加到下拉框中,返回文件个数,部分关键代码。。
//搜索当前目录下所存在的配置文件,返回文件个数int CNewsPaperDlg::Find_special_File(LPCTSTR pszPath, //查找起始路径 LPCTSTR pszExt, //文件扩展名 BOOL include_subDirectory, //搜索子目录标志 CComboBox *pBox) //列表{ /
2009-08-27 16:06:00 2410
转载 C/C++经典问题及自己所遇到的部分问题
1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和
2009-08-27 15:59:00 714
原创 extern 详细说明(摘自网上)
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析:
2009-08-27 15:46:00 360
原创 VC6++和VS2003/2005下的DOXYGEN注释宏及其配置使用环境
需要环境:DOXYGEN, graphviz, HHW。。。配置环境GOOGLE上搜一下有很多很多,我这里给大家共享下我结合网上的一些再加上自己修改BUG和添加部分功能之后的注释宏:PS:函数注释的时候如果函数头部超过一行时,则选中函数头部然后点“函数注释宏”,就可以了。。 直接上宏了: --------------------------------------------
2009-08-26 15:58:00 1575
原创 RETURN前注意释放内存,初始化。。。
很多时候开辟和释放都是成对的,这样是为了避免产生内存泄漏,还有一种情况下容易导致这种错误,就是程序中某些异常控制中,当出现类似于文件读写打不开的时候,直接RETURN,而忽略了前面动态开辟的 内存,一般情况下,正常下退出时都还是比较能记得释放。。。 一定要注意在异常发生后,RETURN前也要进行释放。。。否则同样会产生内存泄漏! 其次就是在开辟内存之后应该记得初始化新开辟的空间(对
2009-08-26 15:52:00 1188 1
原创 多线程处理
由于最近再处理一些图像的算法中涉及到效率和速度问题,改进了半天发现貌似不好搞了。。于是空了的时候随便到处看看,发现了多线 程可能会有点作用。。以前虽然学习过,但基本都是书上的例子那种方式运行。。。MAIN THREAD RUN....SUBTHREAD RUN....交替的RUN,就根本没有真实的使用过,如是就在网上搜了些资料,以供自己随时学习记录。。 A、我首先得搞清楚
2009-08-18 12:00:00 607
原创 OPENCV 1.1+VC6.0使用时出现的恶心问题--应用程序正常初始化(0xc0150002)失败
今天上午没分配新任务还,我就自己搞了下OPENCV和MFC的联合使用,再OPENCV的网站上看到了一个使用CANNY检测的例子,其实以前对于图像处理库我自己也做了一个底层的DIB,但想可能对于图像类型的兼容问题,例如PNG,TIFF等还没完备,以及使用的时候同事未必会接受我的库,因此就打算采用OPENCV的一些底层的应用。。不料在使用的时候发现没法和例子中一样运行,GOOGLE了一下之后发现是
2009-08-17 14:35:00 2689 3
转载 delete和delete[] 的区别
C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。楼主的这个问题提得很好。很多人注意到了这个问题,但是却不清楚为什么要这样做,不这样做行不行。关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2) 为自定义类型分配和回收空间。对于 (1),上面提供
2009-08-13 09:56:00 383
转载 malloc()与 alloc()区别(转)
C语言跟内存分配方式(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配,亦称动态内存分
2009-08-13 09:34:00 450
原创 关于相机标定问题的讨论
自从那个问题解决了之后,好久没来看我的博客了;现在标定的过程我基本完成走过了一遍,包括ZHANG和TSAI的,从理论到代码编写,确实很辛苦,不过学到了很多解决问题的办法,也认识了不少同道中人和朋友,希望做标定的可以和我一起讨论一起研究。。我也很乐意能给你们提供帮助(交流遇到的问题可以,由于项目原因,谢绝索要代码)!QQ:61278903EMAIL:robin1115@163.com
2009-03-03 11:45:00 548
原创 哎,好不容易的完成了LM优化.....但是还是有问题
哎,好不容易的完成了LM优化.....(其中非常感谢成都光电所的PHD罗&武大的PHD詹对我的指导),但是还是有问题,不过起码来说看到了结果......前几天优化出来的结果和标准结果差别很大,"罗总"说让我看原理,我今天就又把SBA和LM的原理再看了遍,然后就慢慢跟踪程序找到了其中的一个由于存储世界坐标的指针越界造成错误的"BUG".....带着欣喜改正了这个很隐蔽的错误之后运行一看结果,和优
2008-07-22 12:00:00 857 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人