总结系列_4(C++知识学习,续...)
摘要:1. Windows的窗体交互是基于消息映射机制的,比如我们的编辑框可以映射一个变量,我们在编辑框里输入一个数字后,这个数据就可以传递到映射变量里;而我们的按钮可以映射成一个函数,当我们运行的窗体点击这个按钮时,相应的映射函数就被执行。映射变量的添加在类向导里面。而映射函数的添加比较方便,只需要在资源预览中双击按钮控件,便会弹出一个Add Member Function的对话框。2. VC中调用延时函数为Sleep(int n),其中的S一定要大写,且n为毫秒的单位。必须包含头文件<<windows.h>>。3. 普通的代码即使没有用到类,但是.c和.c++区别还是蛮大
阅读全文
posted @
2012-04-30 08:20
tornadomeet
阅读(1825)
推荐(1) 编辑
总结系列_3(opencv中c版本和c++版本区别体验,续...)
摘要:1. 显示窗口大小的改变方法不同。 在c版本中,定义一个窗口时用cvNamedWindow. 比如说cvNamedWindow(“src”,0);后面的参数为0表示窗口大小可以手动改变,否则窗口的大小是自适应图片大小的。 而在c++版本中定义一个窗口用namedWindow. 比如说namedWindow(“src”,1);不管后面第二个参数是多少,都不能手动更改窗口的大小,因为它的尺寸是根据图片大小自动生成的。 并且要看到手动调整窗口大小的效果,还需要配合cvShowImage(“src”,img); 也就是说如果后面显示用c++版本的imshow(“src”,img);也是看...
阅读全文
posted @
2012-04-29 17:33
tornadomeet
阅读(9844)
推荐(1) 编辑
Reading papers_1(与kalman filter相关,ing...)
摘要:读Maybeck, P. S. 1979. “Stochastic Models, Estimation, and Control, Volume 1”, Academic Press, Inc. Kalman filter最优估计体现在:它包含了所有能提供的信息,能处理所有可以利用的测量(而不用管这些测量的精度如何),来估计我们感兴趣的参数值。Kalman filter主要利用了系统和测量设备动态模型的相关知识,系统噪声,测量误差,动态模型的不确定性以及我们需要估计的感兴趣变量的初始值。 Kalman估计的主要步骤有:初始化,预测,测量,校正。举个简单的例子形象理解下,比如说我们要预测在..
阅读全文
posted @
2012-04-27 16:59
tornadomeet
阅读(2200)
推荐(0) 编辑
总结系列_2(vc,opencv,Qt等错误调试,续...)
摘要:本文将总结一些在使用opencv+vs过程中碰到的error。 1.程序编译通过,运行时出现如下错误: 解决方法: a.可能是读取文件时出现错误,比如说读图片,视频等文件名字或路径弄错了。 2. 编译程序通过,运行时出现如下错误: 解决方法: a.可能是数据类型不对,比如说在该语句中gray_diff.at<unsigned char>(i,j)=255; 本来gray_diff中的数据类型是unsigned char的,如果你写成了gray_diff.at< int>(i,j)=255;或者是写成其它的就会报类似的错误。 3. 当编译通过,运行程序一段时间后出现如下提
阅读全文
posted @
2012-04-23 22:11
tornadomeet
阅读(5953)
推荐(0) 编辑
总结系列_1(opencv需常用的小工程,续...)
摘要:本文中将列出opencv需常用的最小工程,以方便今后做测试用。 工程环境为vs2010+opencv2.3.1一、opencv读取图片并显示出来: 代码为: 1 #include "stdafx.h" 2 #include <opencv2/highgui/highgui.hpp> 3 4 using namespace cv; 5 6 int main(int argc,unsigned char* argv[]) 7 { 8 Mat img_src; 9 for (;;)10 {11 img_src=imread("lena.jpg");
阅读全文
posted @
2012-04-23 22:01
tornadomeet
阅读(3685)
推荐(0) 编辑
Qt学习之路_1(安装及首次体验)
摘要:一、安装qt软件:( 如果使用的是Qt源码,则用该方法编译,步骤参考http://www.cnblogs.com/elect-fans/archive/2012/03/25/2416997.html 否则直接下载qt-win-opensource-4.8.2-vs2010.exe文件并安装,该文件已编译过了,装完后可以直接使用。本人后面还是采用后面这种方法)听说qt做界面很好,易学,而opencv的界面支持又太简单了,所以打算以后就用qt做cv软件方面的界面,而是就打算学习下qt了。因为在windows下用vs比较多,经过一番查找资料后有2种方法可以将vs和qt结合起来用。1. 直接用qt的.
阅读全文
posted @
2012-04-22 21:42
tornadomeet
阅读(11385)
推荐(0) 编辑
opencv源码解析之(5):CommandLineParser类的简单理解
摘要:好像在opencv的c版本中,应该是opencv1.0以前,还没有出现CommandLineParser这个类,最近看到opencv2.3后面的版本里自带的samples,很多都用到了CommandLineParser 这个类,那么这个类到底有什么作用呢,从命名大概可以猜出这是个命令行解析类。因为我们知道opencv是一个开源库,所以其很少有图形操作方面的api,基本上还是基于命令行执行的。那么这个类的出现主要是方便用户在命令行使用过程中减少工作量,暂时只能理解到这一点好处,也不知道说错了没有。 比如说看下samples中的一个类中,main函数前定义了一个keys指针 const c...
阅读全文
posted @
2012-04-15 18:26
tornadomeet
阅读(12712)
推荐(0) 编辑
初步体验libsvm用法1(官方自带工具)
摘要:在机器学习和模式识别领域,svm理论使用得很广泛,其理论基础是统计学习,但是如果我们的研究方向不是svm理论,我们只是利用已有的svm工具来对我们的任务进行分类和回归,那么libsvm是一个不错的选择。 那么libsvm到底怎么使用呢?研究了一下,发现使用起来不是很复杂,这一小结就说说到底怎么简单的体会libsvm吧。一、首先准备几个工具: Libsvm下载 http://www.csie.ntu.edu.tw/~cjlin/libsvm/ Gnuplot下载:http://www.gnuplot.info/ Python下载: http://www.python.org/getit/ ...
阅读全文
posted @
2012-04-12 14:57
tornadomeet
阅读(19000)
推荐(8) 编辑
WinSocket简单编程实验
摘要:这一节是计算机网络作业,windows socket编程,老师电脑上开一个服务器程序,公开ip地址和端口号,我们同学自己编写一个客户端,能与老师的服务器建立联系,两者能收发即可。这样的代码网上很多,而是就采用了孙鑫VC++第14讲的代码,下面是添加的一点简单注释。 其实socket完成连接功能很简单,依葫芦画瓢即可。首先来看面向连接的TCP流程图。 面向无连接的UDP流程更加简单,如下所示: 现在用TCP协议来完成任务,下面是孙鑫老师的代码,由于我们要提前测试自己的代码,所以也用了服务器端的代码,服务器端端server代码如下: 1 #include <Winsock2.h> 2
阅读全文
posted @
2012-04-11 12:45
tornadomeet
阅读(19504)
推荐(3) 编辑
一些知识点的初步理解_5(梯度下降,ing...)
摘要:梯度下降法又叫最速下降法,英文名为steepest descend method.估计搞研究的人应该经常听见这个算法吧,用来求解表达式最大或者最小值的,属于无约束优化问题。 首先我们应该清楚,一个多元函数的梯度方向是该函数值增大最陡的方向。具体化到1元函数中时,梯度方向首先是沿着曲线的切线的,然后取切线向上增长的方向为梯度方向,2元或者多元函数中,梯度向量为函数值f对每个变量的导数,该向量的方向就是梯度的方向,当然向量的大小也就是梯度的大小。 现在假设我们要求函数的最值,采用梯度下降法,如图所示: 梯度下降法的基本思想还是挺简单的,现假设我们要求函数f的最小值,首先得选取一个初始点后,然后..
阅读全文
posted @
2012-04-10 19:50
tornadomeet
阅读(9653)
推荐(1) 编辑
一些知识点的初步理解_4(协方差矩阵,ing...)
摘要:每次看公式用到协方差矩阵时,要跑去网站上看一下协方差矩阵的定义,当然一看就能看明白,可是到了下次再碰到时,不查资料又卡住了,卡在那里令人纠结,这只能说明没有真正理解协方差矩阵。这次顺便做下笔记,加深下理解。 首先要清楚一般出现协方差矩阵时就会出现多维列向量,这里假设为n维,另外既然有协方差字眼,那肯定是一个随机变量。这里假设有d个随机变量x1,x2,x3,…,xd,只不过每个随机变量x又是由n个标量组成的列向量。简单的理解就是说在n维空间中有d个随机的点。现在我们需要求的是关于n维空间中这d个点的协方差矩阵。 用uk列向量表示d个点的平均值,uk中的每一个元素对应d个点中相应维数的平均数。所.
阅读全文
posted @
2012-04-09 10:17
tornadomeet
阅读(7495)
推荐(1) 编辑
前景检测算法_1(codebook和平均背景法)
摘要:前景分割中一个非常重要的研究方向就是背景减图法,因为背景减图的方法简单,原理容易被想到,且在智能视频监控领域中,摄像机很多情况下是固定的,且背景也是基本不变或者是缓慢变换的,在这种场合背景减图法的应用驱使了其不少科研人员去研究它。 但是背景减图获得前景图像的方法缺点也很多:比如说光照因素,遮挡因素,动态周期背景,且背景非周期背景,且一般情况下我们考虑的是每个像素点之间独立,这对实际应用留下了很大的隐患。 这一小讲主要是讲简单背景减图法和codebook法。一、简单背景减图法的工作原理。 在视频对背景进行建模的过程中,每2帧图像之间对应像素点灰度值算出一个误差值,在背景建模时间内算出该像素点的.
阅读全文
posted @
2012-04-08 22:35
tornadomeet
阅读(25404)
推荐(2) 编辑
一些知识点的初步理解_3(立体视觉,ing...)
摘要:最近看了些立体视觉方面的资料,感觉立体视觉涉及到的东西太多,且数学理论比较强,特别是几何方面的东西,下面是对这一周看关于立体视觉方面的资料的初步总结,很多知识也是懂了个概念而已,深入的话要在以后的实践过程中不断体会,其中主要是一些名词,写下来算是对自己有个小的总结:一. 射影几何知识。 包括平面射影几何和空间射影几何。射影几何只是在欧式几何中引入了无穷远元素而已,比如说无穷远点,无穷远直线,无穷远曲线和曲面。因此在射影几何中2条平行线是可以相交的,交点在无穷远处,2个平行平面也交于无穷远处的一条直线。 所以在二维射影几何中,引入了二维射影平面,即由欧式平面和无穷远直线构成。其中涉及到的相关知.
阅读全文
posted @
2012-04-08 15:41
tornadomeet
阅读(3153)
推荐(1) 编辑
Matlab DIP(瓦)ch11表示与描述练习
摘要:这一章主要是练习一些图像的表示和描述,内容主要包括图像的一些常用表示方法,比如说链码,MPP,标记,边界片段,骨骼等。另一方面是图像的描述算子,比如说边界描述算子,区域描述算子等。有些课本练习的代码暂时还没有搞定。 其练习过程和结果如下所示: 1 %% 数组单元概念 2 clc 3 clear 4 f=imread('..\images\dipum_images_ch11\Fig1102(a)(noisy_circular_stroke).tif'); 5 imshow(f); 6 [a b c d]=image_stats(f); 7 a=image_stats1(f); .
阅读全文
posted @
2012-04-01 18:58
tornadomeet
阅读(6460)
推荐(1) 编辑