再读Opencv(1)
来源:互联网 发布:淘宝网鞋子内增高 编辑:程序博客网 时间:2024/06/06 04:01
书读百遍,其义自现。不知道是第几遍看这本书了,虽说是入门版,但收获颇多。速度很明显快多了,一个多小时,把cvcam,cxcore,highgui又看了一遍。
1,highgui只是试验级的接口,只能用于windows,是用vfw技术,读摄像头很慢,有算法的情况下,大概7帧/s。cvcam未来将被淘汰,原因只是他被集成到highgui中,并使用dshow技术。 用dshow读cam,速度提高6倍。一般用的cvCaptureFromCAM就是highgui中的,我觉得在windows下,用cvcam模块还是很必要的,很方便。cvcam也使一个跨平台的模块,我想,也就是多个linux吧,板子上还是用不了。不知道有没有dshow快,有空试试。
2,并不是总要声明指针类型的CvMat*,有时需要CvMat。例如,cvGetRows,cvGetDiag,应该这样用:
CvMat diag;
cvGetDiag(image,&diag,0);diag是一列数。这样,免去了cvCreateMat等麻烦。diag的空间的开辟放在函数内部,省得手工开辟空间,还得计算大小。
3,何时使用cvLUT,dst=lut(src),仅仅是一个像素值的对应关系而已,可用于直方图变换,像素的目标值仅由原始值决定。
4,cvCalcCovarMatrix,深切感受到,虽然简单,却很强大的功能。协方差和平均值。发现协方差的人真不简单,第一个深刻理解了数据的本质。
5,Mahalanobis,马氏距离。没用到过,但觉得很好的一个想法。大概意思是,一般来说,向量各个元素之间是有相关性的,而欧氏距离没有体现这种相关性,欧氏距离各个元素之间是独立的,即协方差是0。相同欧氏距离下,相关性比较大的两个向量的距离理应比没有相关性的小。这样,马氏距离应运而生。很简单,就是欧式距离乘以协方差之逆。协方差越大,越相关,距离应越小。
6,Kmeans2,解释是网上荡的,说得挺明白。首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
这里的相思度,即距离,就可以用马氏距离。亦可以用PCA来描述每个聚类。可见,算法是很类似的,数学思想更是不变。理解了矩阵和统计的思想,这些东西很简单。
7,cvSetMemoryManager,我觉得做DSP移植的时候得用到。毕竟,DSP的内存管理不同于PC。近期要做,在考虑中。
- 再读Opencv(1)
- 再读Opencv(2)
- 再读《杰克·韦尔奇自传》(1)
- 再读声卡驱动(1)
- 再读概率论与数理统计-1
- C++ Primer再读笔记-1
- 再读《人月神话》(一)
- 再读PE结构(一)
- 再读uclinux-2008r1-rc8(bf561)内核的中断处理(1):数据结构
- 再读uclinux-2008r1(bf561)内核存储区域管理(1):相关数据结构
- 熄灯之后的学习——再读《MySQL必知必会》(1)
- 再读OpenGL红宝书(1-8章)
- 再读OpenGL红宝书(1-8章)【续】
- 再读OpenGL红宝书(1-8章)
- 再读HOG(梯度方向直方图)
- 再读《C和指针》(笔记2)
- 再读《C和指针》(笔记3)
- 再读《C和指针》(笔记4)
- ASP.NET 2.0中Gridview控件高级技巧
- ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!11
- ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!11
- Perl正则表达式讲解(一)
- 关于 No trusted certificate found 异常
- 再读Opencv(1)
- mysql 中更改表的名称
- gridview编辑的方法
- GridView 几种使用方法(转)
- 在GridView中应该用分页、编辑、删除、更新操作
- 定义自己的地图——使用mapabc api
- 《费尔玛大定理》我之所感!
- C# 格式化字符串
- 我的博客排名好象不断在上升中....