- 博客(35)
- 收藏
- 关注
转载 感光器尺寸 面积 转换 计算
说到CCD的尺寸,其实是说感光器件的面积大小,这里就包括了CCD和CMOS。感光器件的面积越大,也即CCD/CMOS面积越大,捕获的光子越多,感光性能越好,信噪比越低。CCD/CMOS是数码相机用来感光成像的部件,相当于光学传统相机中的胶卷。 CCD上感光组件的表面具有储存电荷的能力,并以矩阵的方式排列。当其表面感受到光线时,会将电荷反应在组件上,整个CCD上的所有感光组件所产生的信号,就构
2012-08-01 09:52:08
6858
转载 meanshift 与 camshift 跟踪算法比较
MeanShift Algorithm思想很简单:利用概率密度的梯度爬升来寻找局部最优...具体参考文献:[1]The Estimation of the Gradient of a Density Function, with Applications in Pattern Recognition (1975)[2]Mean shift, mode seeking,
2011-12-17 23:28:39
6818
转载 kalman滤波器
(1) 简单来说,卡尔曼滤波器是一个“optimal recursive data processing algorithm(最优化自回归数据处理算法)”。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,
2011-09-05 00:48:07
1154
转载 V4L2采集摄像头数据
一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。 二.一般操作流程(视频设备):1.打开设备文
2011-08-15 18:02:14
1549
1
转载 C++中的.hpp文件与.h文件
在查阅ASN-GW工程文件源代码的时候,发现了*.hpp文件,很奇怪,以前在教科书都没有学习过,在baidu一下,发现了一下要点:1、是Header Plus Plus 的简写。2、与*.h类似,hpp是C++程序头文件 。3、是VCL专用的头文件,已预编译。
2011-08-08 11:21:12
9952
1
转载 关于精确计时——QueryPerformanceCounter
精确的时间计时,有时候是非常必要的。比如播放多媒体时视频与音频的时间同步,还有在测试代码的性能时,也需要使用到非常精确的时间计时。还有测试硬件的性能时,也需要精确的时间计时。这时就需要使用QueryPerformanceCounter来查询定时器的计数值,如果硬件里有定时器,它就
2011-08-03 15:14:23
1604
1
转载 VC编译选项 MT MTd...
VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库 库文件Single thread(static link) ML libc.libDeb
2011-07-26 00:07:07
547
转载 camshift算法(3)
这是一外国人写的使用示例:OpenCV's face tracker uses an algorithm called Camshift. Camshift consists of four steps: Create a color histogram to represent
2011-07-18 16:39:09
548
转载 camshift算法(2)
这里主要介绍下MeanShift算法的迭代过程,毕竟Camshift算法是以它为核心的。MeanShift算法是一种寻找局部极值的方法。做为一种直观上的理解是它一步一步爬向最高点即爬山算法.而怎么个爬法,用计算出的重心做为下一步窗口的中心,直到窗口的位置不再变化。在理解MeanS
2011-07-18 16:34:24
797
转载 camshift算法(1)
Camshift算法是Continuously Adaptive Mean Shift algorithm的简称。它是一个基于MeanSift的改进算法。它首次由Gary R.Bradski等人提出和应用在人脸的跟踪上,并取得了不错的效果。由于它是利用颜色的概率信息进行的跟踪,使
2011-07-18 16:31:00
998
转载 opencv之camshift(转自http://blog.csdn.net/tyq0902/)
1--Back ProjectionCamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back Projectio
2011-07-18 09:36:56
1409
1
转载 测试程序运行时间
测试程序运行时间-time.h1.计时 C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下: clock_t clock( void ); 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其
2011-06-14 15:26:00
14441
1
转载 关于Invalidate()
<br />InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效<br />InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。<br />Invalidate()之后:(MFC的,顺便了)<br />OnPaint()->OnPrepareDC()->OnDraw()<br />所以只是刷新在OnPaint()和OnDraw()函数中的绘图语句。其它地方没有影响。<br />Inv
2011-01-15 23:59:00
649
转载 win7下注册控件的方法
<br /><br />首先遇到的问题是安装VC:<br />在安装vc6的时候不要选择TOOLS里面的OLE/COM OBJECT VIEWER工具,就可以顺利安装,这个只是个查看工具,不会影响VC++的编译<br />win7,vsita下注册控件:<br />注册控件的时候进入C:/Windows/System32找到cmd.exe,右键管理员方式运行程序然后输入如下的命令:<br />regsvr32 /s ACTSKIN4.OCX "%SystemRoot%/system32/ACTSKIN4.O
2011-01-10 11:15:00
3168
转载 三个退出程序消息WM_CLOSE、WM_DESTROY、WM_QUIT
<br />1、发送消息SendMessage、PostMessage<br />PostMessage将消息放入消息队列后马上返回,而SendMessage直到窗口过程处理完消息后才返回 <br />2、三个消息的区别<br />WM_CLOSE:<br /> 在系统菜单里选择了“关闭”或者点击了窗口右上角的“X”按钮,你的窗口过程就会收到WM_CLOSE。DefWindowProc对 WM_CLOSE的处理是调用DestroyWindow。当然,你可以不让DefWindowProc处理,而是自己处理,
2010-12-27 16:09:00
2364
转载 CEdit读取内容的时机
<br />ON_EN_CHANGE<br />The user has taken an action that may have altered text in an edit control. Unlike the EN_UPDATE notification message, this notification message is sent after Windows updates the display用户采取的行动可能会改变编辑控件的文本。与EN_UPDATE通知消息不同,该通知是在Wind
2010-12-27 14:55:00
720
转载 C++操作符的优先级和结合性表
<br />C++操作符的优先级与结合性 优先级操作符功能结合性1( )改变优先级从左至右::作用域运算符[ ]数组下标.、->成员选择符.、 *、->、 * 成员指针选择符2单目++、-- 增1减1运算符从右至左&取地址*取内容!逻辑求反~按位求反+、 - 取正数、负数 ( ) 强制类型sizeof取所占内存字节数new、delete动态存储分配3*、/、% 乘法、除法、取余从左至右4+、- 加法、减法 5<< 、>>左移位、右移位6< 、<=、 >、 >=小于、小于等于、大于、大于等于7==、!= 相
2010-12-22 10:17:00
670
转载 关于 MFC 中的 DestroyWindow
<br />考虑单窗口情况:<br /><br /> 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create。则销毁窗口的调用次序: <br /><br /> 1. 手工调用pWnd->DestroyWindow(); <br /><br /> 2. DestroyWindow会发送WM_DESTROY; <br /><br /> 3. WM_DESTROY对应的消息处理函数是OnDestroy(); <br /><br /> 4. DestroyWindow会发送WM_NCD
2010-12-16 00:42:00
499
转载 模板的特化与偏特化
<br /> Partial Template Specialization能够让你在模板(Template)的所有可能的实体中特化出一组子集.<br /> 1.模板的特化(template specialization):<br /> 例如,定义如下的一个模板:<br /> template<class Window, class Controller><br /> class Widget<br /> {<br /> ... 泛化实现代码 ...<br />
2010-12-03 10:12:00
347
转载 关于m_pMainWnd = &dlg错误……
<br /> 在VC6环境下编写基于对话框的应用程序时,在执行程序时有时会出现unhandled exception in XXX.exe(XXX.DLL)0xC0000005 Access Violation错误,这本身是个莫名其妙的错误,调试时到m_pMainWnd = &dlg这一句出现异常,而这一句其实是VC生成的。一般出现这种错误的原因是在工程的主窗口新添加了成员变量,只要REBUILD ALL一下,解决了吧,呵呵。
2010-11-10 15:14:00
3008
3
转载 C/C++指令 #undef ,#ifdef, #ifndef,#if的用法
<br />#undef <br /> #undef 是在后面取消以前定义的宏定义<br /> 该指令的形式为 <br /> #undef 标识符<br /> 其中,标识符是一个宏名称。如果标识符当前没有被定义成一个宏名称,那么就会忽略该指令。<br /> 一旦定义预处理器标识符,它将保持已定义状态且在作用域内,直到程序结束或者使用#undef 指令取消定义。 <br /> 在此程序中,我们将取消在先前程序中对预处理器的定义。 <br /> 源代码:<br /> #def
2010-11-04 10:39:00
699
转载 关于输出格式控制符(2)
1 一般格式printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c/n",i,ch);说明:(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息: ①格式说明:由“%”和格式字符组成,它的作用是将输出的数据转换为指定的格式输出。 ②普通字符,即需要原样输出的字符。(2)“输出表列”是需要输出的一些数据,可以是表达式(3) printf函数的一般形式可以表示为 printf(参数1,参数2,……,参数n)
2010-10-12 16:27:00
1577
1
转载 关于#pragma指令(2)
<br />一:#pragma warning指令[zhi ling]<br />该指令[zhi ling]允许有选择[xuan ze]性的修改[xiu gai]编译[bian yi]器[bian yi qi]的警告消息[xiao xi]的行为<br />指令[zhi ling]格式[zhi ling ge shi]如下:<br />#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-
2010-10-08 14:09:00
531
转载 关于#pragma指令
<br />在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 <br />其格式一般为: #Pragma Para <br /> 其中Para 为参数,下面来看一些常用的参数。 <br
2010-10-08 14:06:00
268
转载 在C******App::InitInstance() 中出现Access Violation错误的解决方法
出现0xC0000005:Access Violation的解决办法<br />一般出现此问题都是因为指针未初始化等出现的访问违规。但我出现这个错误的描述如下:<br /><br />描述:vc程序在窗口中添加edit空间(或其他控件)及对应变量后(都是通过类向导添加的,没有认为因素),编译及连接都能正常通过,但运行时会出现0xC0000005:Access Violation错误。经跟踪调试发现,当程序运行到C******App::InitInstance() 中的m_pMainWnd = &dl
2010-09-15 11:38:00
835
转载 关于VC6中调试时局部变量"no found"的解决方法
<br />这个解决方法是在Google上查到的。<br />在VC中进行调试时,有时会出现无法查看局部变量的情况,在watch窗口中查看该变量会显示"no found"的提示,这时只需要选择"Build->Clean",然后再选择"Build->Rebulid all"即可解决……
2010-09-15 11:30:00
702
转载 位图文件读写综述
<br />一、位图文件结构位图文件头 位图信息<br />2.1 位图信息头<br />2.2 颜色表位图数据 <br />二、位图文件读写操作类的声明位图的读取位图读取过程中的调色板的创建和调用位图的显示位图的存储新位图的创建其它问题<br />三、CFG_DIB的使用<br /><br /><br />下载本文配套代码<br /><br />关于位图文件操作的资料很多。为了方便开发人员的工作,写下本文,介绍了位图文件结构,在此基础之上设计了通用类CFG_DIB,用于进行位图文件的读写操作。<br />
2010-09-14 11:03:00
247
转载 BMP和GIF图像格式
<br />对于现存的所有的图像文件格式,我们在这里主要介绍BMP图像文件格式,并且文件里的图像数据是未压缩的,因为图像的数字化处理主要是对图像中的各 个像素进行相应的处理,而未压缩的BMP图像中的像素数值正好与实际要处理的数字图像相对应,这种格式的文件最合适我们对之进行数字化处理。请读者记住, 压缩过的图像是无法直接进行数字化处理的,如JPEG、GIF等格式的文件,此时首先要对图像文件解压缩,这就要涉及到一些比较复杂的压缩算法。后续章节 中我们将针对特殊的文件格式如何转换为BMP格式的文件问题作专门的论述
2010-09-10 11:24:00
1592
转载 GDI绘图中的资源释放
<br />GDI绘图中经常会创建一些画刷、画笔和位图等资源,通常这些资源通过调用函数CreateSolidBrush、CreatePen、CreateCompatibleBitmap等方法创建。这些资源在使用完成以后必须通过调用DeleteObject()函数释放资源,否则会发生资源泄漏,最终导致系统资源被耗光,不能再次成功创建资源。<br />考虑下面一段代码:<br />HBITMAP hBmpLayer1,hBmpOldLayer1;<br />HBITMAP hBmpLayer0,hBmpOldL
2010-09-09 17:33:00
3927
转载 关于输出格式控制符
printf()各种格式控制符的用法 基本控制符: %c 显示char型数据 %d,%i 按10进制显示int型数据 %e,%E 按指数形式显示float型或double型数据 %f 按小数形式显示float型或double型数据 %g,%G 兼容以上两种显示格式 %n 用途和用法较冷僻见例 %o 按八进制显示unsigned型数据(无引导0) %#o 按八进制显示unsigned型数据(有引
2010-09-07 17:15:00
1429
转载 OnPaint和OnDraw的区别
<br />问题:我在视图画的图象或者文字,当窗口改变后为什么不见了?OnDraw()和OnPaint()两个都是解决上面的问题,有什么不同?<br />答:OnDraw()和OnPaint()好象兄弟俩,因为它们的工作类似。<br />至于不见了的问题简单,因为当你的窗口改变后,会产生无效区域,这个无效的区域需要重画。一般Windows会发送两个消息WM_PAINT(通知客户区 有变化)和WM_NCPAINT(通知非客户区有变化)。非客户区的重画系统自己搞定了,而客户区的重画需要我们自己来完成。这就需要O
2010-08-24 15:37:00
432
转载 CDC,CPaintDC,CClientDC,CWindowDC的区别
<br /><br />CDC是Windows绘图设备的基类<br />CClientDC:<br />(1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC<br /><br />CPaintDC:<br />(1)用于响应窗口重绘消息(WM_PAINT)是的绘图输出。<br />(2)CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上
2010-08-24 11:58:00
516
转载 一些介绍相机参数和镜头参数的网页链接
<br />介绍相机参数的一个网页:http://publish.it168.com/cWord/248.shtml<br />佳能官方的EF镜头介绍网站:http://www.canon.com.cn/specialsite/lensbook/jt1/1a.html
2010-08-05 17:27:00
995
转载 相机参数中的“等效于35mm相机”焦距
<br />目前数码相机的成像器件面积都小于普通的135胶卷(即35mm胶卷相机)的面积,所以其镜头焦距很短,说到其镜头焦距时常不会涉及到其实际的物理焦距,而说与其视角相当的35mm(国内的135)相机的镜头焦距,也就是说,其“镜头的视角相当于XX”。<br /><br />常见CCD尺寸<br /> <br /> 35mm胶片的尺寸是36 x 24mm,也就是我们平时在照相机馆中看到的最为普遍的那种胶卷,由于35mm焦长的广泛使用,因此它成为了一种标尺,就像我们用米或者公斤来度衡长度和重量一样,35
2010-08-05 17:21:00
1240
转载 光圈、焦距、物距与景深的关系
<br />在进行拍摄时,调节相机镜头,使距离相机一定距离的景物清晰成像的过程,叫做对焦,那个景物所在的点,称为对焦点,因为“清晰”并不是一种绝对的概念,所以,对焦点前(靠近相机)、后一定距离内的景物的成像都可以是清晰的,这个前后范围的总和,就叫做景深,意思是只要在这个范围之内的景物,都能清楚地拍摄到。景深的大小,首先与镜头焦距有关,焦距长的镜头,景深小,焦距短的镜头景深大。其次,景深与光圈有关,光圈越小(数值越大,例如f16的光圈比f11的光圈小),景深就越大;光圈越大(数值越小,例如f2.8的光圈大于f
2010-08-05 17:16:00
15163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人