摘要:
widthStep表示存储一行像素需要的字节数,而width等于像素的数目。widthStep必须是4的倍数,如果8U图像宽度为3,那么widthStep是4,加一个字节补齐。这个图像的一行需要4个字节,只使用前3个,最后一个空在那儿不用。也就是一个宽3高3的图像的imageData数据大小为4*3=12字节。如果32F的图像,那么widthStep=width*4。再举一个例子:width = width/4;
阅读全文
posted @ 2012-05-21 23:42
CBDoctor
阅读(601)
推荐(0)
摘要:
模版分为两类:一 、函数模版二 、类 模 版一、函数模版1.1 定义template <class T>T f ( T& a,T& b){}格式:TEMPLATE <CLASS 模版形参名> 函数返回类型 函数名(形参表)1.2 函数调用函数名<模版形参> int a;int b;f(a,b);注意: 函数模版进行实参类型推演。二、 类模版2.1 定义template <class T>class Student{int a;T b;};格式:TEMPLATE <CLASS 模版形参名>CLASS 类名2.2 模版调用
阅读全文
posted @ 2012-05-16 21:29
CBDoctor
阅读(286)
推荐(0)
摘要:
一:首先了解一下TCP客户端设计的编写步骤(1)使用WSAStartup()初始化Winsock库。(2)使用socket()创建一个IPPROTO_TCP类型的套接字。(3)使用 gethostname()/gethostbyaddr()获取主机的相关信息。(4)使用connect()连接到服务器。(5)使用send()/recv()发送和接收数据,直到TCP通信结束。(6)使用closesocket()关闭套接字连接。(7)使用WSACleanup()释放Winsock库。链接网址:【1】http://learn.akae.cn/media/ch37s02.html【2】http://ga
阅读全文
posted @ 2012-05-16 20:28
CBDoctor
阅读(389)
推荐(0)
摘要:
终于找到整个工程的关键部分了:就是在C++里,线程同步控制主要有四种方式:1.Critial Sections 临界区域2.mutex 互斥3.Semaphone 信号量4.事件一. 所谓临界区,就是指一块处理共享资源的代码。这段代码可以用Critial Sections保护起来,确保一次只有一个线程进入该代码即进入临界区。 Critial Sections并不是核心对像,没有Handle,也没有像创建核心对像一样Create函数,只需要初始化一个CRITICAL_SECTION类型的变量。所以Critial Sections相对其他三种同步方法比较简单,但同时也失去了灵活性。 对于Criti
阅读全文
posted @ 2012-05-16 16:17
CBDoctor
阅读(3684)
推荐(0)
摘要:
UpdateData,顾名思义,是用来刷新数据的。 UpdateData(TRUE) -- 刷新控件的值到对应的变量 UpdateData(FALSE) -- 拷贝变量值到控件显示例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode); 将IDC_EDIT1编辑框控件与m_usercode变量做了关联,如果修改m_usercode之后要想对应控件显示更改,则需要调用UpdateData(FALSE);反之在IDC_EDIT1的oneditchanged()中需要加入UpdateData(TRUE); 简单的说,如果Updatedata(TRUE) == ...
阅读全文
posted @ 2012-05-16 15:42
CBDoctor
阅读(450)
推荐(0)
摘要:
这是从新对windows的自定义消息响应函数进行整理。因为我发现自定义消息响应函数还是非常有用的,尤其是在windows多编程中,用的类越多,有时候就比较有用。Windows消息用"WM_"这个前缀,自定义的消息一般用"UM_这个前缀"。//////////////////////////////////////////////////////////////////////////////////////////////////////////////////1.建立响应函数的原型:在VS2005中,对于响应函数有了个比较严格的规定,导致以前VC6里面
阅读全文
posted @ 2012-05-16 15:32
CBDoctor
阅读(10070)
推荐(0)
摘要:
在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达到不同的效果例如:gcf 是返回当前被激活的窗口的句柄。你可以认为它就指代当前窗口。figure(gcf)打开这个窗口。这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。GUI学习笔记:句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相
阅读全文
posted @ 2012-04-06 09:33
CBDoctor
阅读(17155)
推荐(1)
摘要:
好长时间没有写了,最近有点事,搅得自己心神不宁。看新的知识也看不下去。只好把学过的知识再复习一遍。我们知道,VC++里面定义字符串的时候,用_T来保证兼容性。VC++支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。如果将来你不打算升级到unicode,那么也不需要_T。_t("hello world")在ansi的环境下,它是ansi的,如果在unicode下,那么它将自动解释为双字节字符串,既unicode编码。这样做的好处,不管是ansi环境,还是unicode环境,都适用。那么在VC++
阅读全文
posted @ 2012-04-04 18:44
CBDoctor
阅读(437)
推荐(0)
摘要:
终于赶在win7黑屏后的最后一天期限内完成了激活的工作,用了3个小时,虽然过程很晕菜,但是结果还是好的。 本人安装的系统是windows 7600 Ultimate .在网上搜集了大量的信息,但是都比较麻烦,最后,下面的两个连有效的解决了我的问题。1.怎样解决被黑屏后激活期限未过的问题?http://www.23te.com/a/jingxuanzixun/2010/0104/602.htmlhttp://www.windows7bar.net/windows7/6680.html2.怎样解决被黑屏后激活期限未过的问题?http://www.ipc.me/win7-black-screen..
阅读全文
posted @ 2012-03-21 15:19
CBDoctor
阅读(205)
推荐(0)
摘要:
友元函数:友元函数是可以直接访问类的私有成员的非成员函数(因此也不具有继承关系,在调用友元函数时,也不需要对象的"."或指针操作符来进行访问)。它是定义在类外的普通函数(当然也可以在类的内部定义,但它依旧是全局函数),它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下:friend 类型 函数名(形式参数);友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们是没有区别的,都说明是该类的一个友元函数。一个函数可以是多个类的友元函数,只需要在各个类中分别声明。友元函数的调用与一般函数的调用方式和原理一致。友元类:友元
阅读全文
posted @ 2012-02-21 13:59
CBDoctor
阅读(240)
推荐(0)
摘要:
先请看SetTimer这个API函数的原型UINT_PTR SetTimer( HWND hWnd, // 窗口句柄 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器 UINT uElapse, // 时间间隔,单位为毫秒 TIMERPROC lpTimerFunc // 回调函数);例如SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了于是SetTimer函数的原型变为:UINT SetTimer(UINT nIDEvent,U
阅读全文
posted @ 2012-02-16 13:44
CBDoctor
阅读(647)
推荐(0)
摘要:
C++中预定义的运算符的操作对象只能是基本的数据类型。但实际上,对于许多用户自己定义的类型(例如类),也需要有类似的操作。这就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数的重载,它提供了C++的可扩展性,也是C++最吸引人的地方。举个例子来说,”+”操作符可以对两个int形数据进行操作,但是无法对两个类进行相加,重载操作符就是重新定义”+”,扩展它的功能,使其满足对其它对象的功能。运算符重载的一般格式:函数类型 operator 运算符名称(形参列表){。。。函数体部分。。。}运算符重载的规则:(1) C++不允许用户定义
阅读全文
posted @ 2012-02-05 14:29
CBDoctor
阅读(632)
推荐(0)
摘要:
函数传参的方式有几种呢?我们可以分为三种(1)值传递(2)指针传递(3)引用传递构造函数可以分为三种:默认构造函数、重载构造函数、复制构造函数先参照下面的代码:class Complex { private : double m_real; double m_imag; public: // 无参数构造函数 // 如果创建一个类你没有写任何构造函数,则系统会自动生成默认的无参构造函数,函数为空,什么都不做 // 只要你写了一个下面的某一种构造函数,系统就不会再自动生成这样一个默认的构造函数,如果希望有一个这样的无参构造函数,则需要自己显示地写出来 Comp...
阅读全文
posted @ 2012-02-04 15:57
CBDoctor
阅读(854)
推荐(2)
摘要:
友元是指:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。class Data{public:...friend int set(int &m);//友元函数frie
阅读全文
posted @ 2012-02-04 09:19
CBDoctor
阅读(57682)
推荐(3)
摘要:
首先,我们知道: 每个成员函数都有一个额外的、隐含的形参this。在调用成员函数时,形参this初始化为调用函数的对象的地址。成员函数的函数体可以显示的使用this,但是不是必须这样做。在普通的非const成员函数中,this的类型是一指向类类型的const指针,可以改变this所指向的值,但是不能改变this所保存的地址。在这种情况下,我们引入了const成员函数,它的作用是:改变了this形参的类型。this指针变成了一个指向const类类型对象的const指针。它既不能改变this所指向的对象,也不能改变this所保存的地址。那我们加入const的目的是什么呢?这样做有什么好处呢?我们知
阅读全文
posted @ 2012-02-03 16:10
CBDoctor
阅读(703)
推荐(0)
摘要:
stdafx.h名称的英文全称为:Standard Application Framework Extensions 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。 预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。 编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在p...
阅读全文
posted @ 2012-01-31 16:12
CBDoctor
阅读(2783)
推荐(0)
摘要:
数组有两个特殊的性质。一是不能复制数组;二是使用数组名字时,数组会自动转化为指向其第一个元素的指针。由于数组不能复制,所以无法编写使用数组类型形参的函数,因为数组会被自动转化为指针。数组形参是个容易出问题的地方。因为对于C/C++新手而言,最大的惊讶是C++中根本不存在所谓的“数组形参”,因为数组在传入时,实质上只传入指向其首元素的指针。1 void average(int ary[12]); // 形参ary是一个int*2 3 //...4 5 int anArray[] = {1, 2, 3}; // 一个具有3个元素的数组6 7 const int anArraySize = siz.
阅读全文
posted @ 2012-01-11 11:08
CBDoctor
阅读(4876)
推荐(2)
摘要:
链表是一种常见的重要的数据结构。它是动态的进行内存分配的一种结构。链表由一个“头指针”变量,图中以head表示,它存放一个地址,该地址指向一个元素。链表中的每一个元素称为“结点”,每个结点都应该包含两个部分:用户需要的实际数据和下一个结点的地址。可以看出,head指向第一个元素;第一个元素又指向第二个元素......直到最后一个元素,该元素不再指向其他元素,它称为“尾表”,它的地址部分放一个"NULL"(表示”空地址“),链表到此结束。可以看到,链表中的各元素在内存中不是连续存放的。要找到某一元素,必须先找到上一个元素,根据它提供的下一个元素地址才能找到下一个元素。如果不提
阅读全文
posted @ 2012-01-10 20:24
CBDoctor
阅读(813)
推荐(0)
摘要:
数据的基本类型包括:整形(int)、实型(float)、字符型(char)。也介绍了一种构造类型数据——数组.但是数组中的各元素要求属于同一种类型。有时候,仅仅用一种类型是不够的,需要将不同的数据组合成一个有机的整体,以便于引用。我们于是定义了结构体的概念。1 suruct student //student称为结构体类型名2 {3 int num;4 char name[20];5 int age;6 float score;7 char addr[30]8 };注意不要忘记最后的分号。一.定义结构体类型变量的方法(1)先声明结构体类型,再定义变量名struct student stud..
阅读全文
posted @ 2012-01-10 15:25
CBDoctor
阅读(3463)
推荐(1)
摘要:
转载自:http://yangwei.blogbus.com/logs/1550489.html位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:struct 位域结构.
阅读全文
posted @ 2012-01-09 12:02
CBDoctor
阅读(582)
推荐(0)
摘要:
这可以帮助你深入了解程序的运行机制,由于自己还是一个初学者,因此大部分内容都只是转载。http://blog.sina.com.cn/s/blog_7edcf63b0100yhk9.html一. 在c中分为这几个存储区1.栈 ——由编译器自动分配释放2.堆 ——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区)——全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(C++中已经不再这样划分)。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放在(a)函数体中定义的变
阅读全文
posted @ 2011-12-24 19:52
CBDoctor
阅读(6899)
推荐(0)
摘要:
1.指针常量从字面意思可以看出,指针是一个常量,也就是地址不能被修改。int*—— const p特点是指针指向的数值可以改变,然而指针所保存的地址却不可以改变。#include using namespace std;void main(){int a = 10;int const *p = &a...
阅读全文
posted @ 2011-12-24 19:25
CBDoctor
阅读(16589)
推荐(0)
摘要:
向量(Vectors)转自:http://blog.chinaunix.net/space.php?uid=14534760&do=blog&id=2800619 1.基本操作vector是向量类型,她是一种对象实体,具有值,所以可以看作是变量。她可以容纳许多其他类型的相同实体,如若干个整数,所以称其为容器。Vector是C++STL(标准模板类库)的重要一员,使用她时,只要包括头文件#include<vector>即可。vector可以有四种定义方式:vector<int>是模板形式,尖括号中为元素类型名,她可以是任何合法的数据类型。 (1)vecto
阅读全文
posted @ 2011-12-24 16:05
CBDoctor
阅读(12590)
推荐(2)
摘要:
一般来说,当我们定义了一个函数以后,编译器就会在内存中为其创建一个指令集,当我们调用这个函数时,程序就会跳转到该指令集处.当该函数运行完毕后,程序又会跳转到执行调用函数的下一行继续执行.假如对该函数执行了上百次调用,那么就要来回调转上百次,很明显,这是相当影响执行效率的.c++对此应用inline来解决。方法为:在函数声明返回值前面加上inline1 inline int printf()//函数声明2 3 int printf(){4 5 ......6 7 }使用内联函数,编译器不会创建真正的函数,而只是将内联函数的所有代码拷贝到调用函数,这样程序在执行该调用函数时不需要来回的跳转,自然提
阅读全文
posted @ 2011-12-24 10:55
CBDoctor
阅读(555)
推荐(0)
摘要:
1 enum num{one,two,three,four,five};2 enum a{100,two,200,four}输出结果:one=0;two=1;three=2;four=3;five=4;two=101;four=201;怎样进行赋值操作呢?1 num number;2 number=four;枚举类型的作用是:增强程序的可读性这可真是基础呢!!嘿嘿
阅读全文
posted @ 2011-12-24 09:03
CBDoctor
阅读(355)
推荐(0)
摘要:
我们在应用VC6以前,发现的是dsp和.dsw文件,打开dsw文件可以打开整个工程 VS.net2002以后是.vcproj和.sln .sln对应以前的.dsw .vcproj对应以前的.dspvcproj是工程文件,sln是解决方案文件。 一个解决方案里面可以包含多个工程。 打开vcproj文件编译不了可能是因为这个工程里面用到了同一个解决方案中其它工程的东西。Visual Studio.NET采用两种文件类型(.sln和.suo)来存储特定于解决方案的设置,它们总称为解决方案文件。为解决方案资源管理器提供显示管理文件的图形接口所需的信息 从而在每次继续开发任务时,不会因开发环境而分...
阅读全文
posted @ 2011-12-22 15:56
CBDoctor
阅读(3612)
推荐(3)
摘要:
c/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:int i;double d;i = (int) d;或者:i = int (d);对于具有标准定义转换的简单类型而言工作的很好。然而,这样的转换符也能不分皂白的应用于类(class)和类的指针。ANSI-C++标准定义了四个
阅读全文
posted @ 2011-12-06 14:01
CBDoctor
阅读(29431)
推荐(4)
摘要:
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、函数的命名冲突而服务的。解决的办法就是将你的strTemp变量定义在一个不同名字的命名空间中。就好像张家有电视机,李家也有同样型号的电视机,但我们能区分清楚,就是因为他们分属不同的家庭。例如:#i..
阅读全文
posted @ 2011-12-05 11:32
CBDoctor
阅读(42189)
推荐(5)
摘要:
<iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在c中调用库函数,可以不使用namespace,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头
阅读全文
posted @ 2011-12-05 11:08
CBDoctor
阅读(773)
推荐(0)
摘要:
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义。第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行。 同时,如果程序本来是第二种方式,发给同事,在同事机器上运行时,可能会出现错误:“无法启动程序……,由于应用程序配置不正确,未能启动此应用程序。”
阅读全文
posted @ 2011-12-04 21:16
CBDoctor
阅读(3387)
推荐(0)
摘要:
VS 2008在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打开看看),并在链接完成后将该清单文件嵌入到exe文件中(默认情况下)。而在FAT32文件系统中,在处理清单文件阶段,当增量链接时不能完成清单文件的更新(默认情况下),于是造成清单文件嵌入失败,从而使该exe文件运行时没有相应的清单文件而运行失败并提示如上错误。1. 好像是fat32下时间戳有问题(在ntfs下这个问题就没有了),搞得manifest有时嵌入不到exe中(默认配置是嵌入的,所以就报错
阅读全文
posted @ 2011-12-03 09:58
CBDoctor
阅读(498)
推荐(0)
摘要:
SHIT!MATLAB function "rectint"I don not know that the function "rectint" have this performance!I waste a lot of time to write a new function in my projection. Now introduce itRECTINT 矩形相交函数。 AREA = RECTINT(A,B) 返回的矩形相交部分的面积。 A和B是按位置向量指定的矩形 如果A和B各指定一个长方形,面积是一个标量。 A和B也可以是矩阵,其中每行是一个
阅读全文
posted @ 2011-11-27 09:38
CBDoctor
阅读(997)
推荐(0)
摘要:
function I=imgaussian(I,sigma,siz)% IMGAUSSIAN filters an 1D, 2D color/greyscale or 3D image with an % Gaussian filter. This function uses for filtering IMFILTER or if % compiled the fast mex code imgaussian.c . Instead of using a % multidimensional gaussian kernel, it uses the fact that a Gaussian.
阅读全文
posted @ 2011-11-26 10:23
CBDoctor
阅读(2414)
推荐(0)
摘要:
计算机主机网关的作用是什么? 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。 但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李
阅读全文
posted @ 2011-11-22 14:58
CBDoctor
阅读(887)
推荐(0)
摘要:
Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序。其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的…… 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。而Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它; 或者叫CUI(Character User Inte
阅读全文
posted @ 2011-11-16 19:25
CBDoctor
阅读(474)
推荐(0)
摘要:
图像增强:1. 灰度变换1.1 灰度线性变换1.2分段线性变换1.3 非线性变换2.直方图修正2.1.直方图定义2.2.直方图均衡化2.3.直方图规定化3. 图像平滑3.1 图像的噪声 图像的边缘,跳跃,以及噪声等灰度变化剧烈的部分代表的是图像的高频分量,而大面积背景区域和灰度变化缓慢的地方代表的是图像的低频分量。3.2 模板卷积 大部分模板为了容易取到中心位置,一般都会将模板设置为奇数,比如3*3或者5*5.对于图像的边缘部分,则有若干种方法采取补齐等措施。4.图像的锐化 图像锐化和图像的平滑非常的类似,只是模板的形状发生了变化。4.1 微分法:Df/Dx =f(x+1,y)-f(x,y)D
阅读全文
posted @ 2011-11-10 13:45
CBDoctor
阅读(560)
推荐(0)
摘要:
下面介绍一下几种典型的机器算法首先第一种是高斯混合模型算法:高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。(1)单高斯模型:为简单起见,阈值t的选取一般靠经验值来设定。通常意义下,我们一般取t=0.7-0.75之间。二维情况如下所示:(2)混合高斯模型: 对于(b)图所示的情况,很明显,单高斯模型是无法解决的。为了解决这个问题,人们提出了高斯混合模型(GMM),顾名思义,就是数据可以看作是从数个高斯分布中生成出来的。虽然我们可以用不同的分布来随意地构造 XX Mixture Model ,但是 GMM是 最为流行。另外,Mixture Model 本身其实也是可以变得任意复杂的.
阅读全文
posted @ 2011-11-06 15:54
CBDoctor
阅读(73784)
推荐(6)
摘要:
偶尔用到,但老是忘记,现在写下整理出来一.c++部分:(1)将“You Are Beautiful" 输出到工程中,并保存在名为data.txt“的文本文档中# include<fstream>using namespace std; int main() { ofstream ocout;//定义输出流的一个对象 ocout.open("data.txt"); ocout<<"You Are Beautiful;"; ocout.close(); return -1; } 这句话的意思就是调用ofstream类中的构造
阅读全文
posted @ 2011-11-06 11:45
CBDoctor
阅读(5236)
推荐(1)
摘要:
转载自:http://www.vckbase.com/study/article/data_convert.htm读者层次:初学刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短整型(in
阅读全文
posted @ 2011-11-04 15:27
CBDoctor
阅读(973)
推荐(0)
摘要:
(1)http://blog.sina.com.cn/s/blog_60281b700100mqh9.html(2)http://blog.sina.com.cn/s/blog_696148d30100q2pb.html(3)http://wsyjwps1983.blog.163.com/blog/static/68009001201061033340857/在实际安装过程中,肯定会遇到很多的问题,尤其是VS2008的安装。不过google都能查到解决的方案。不再整理了
阅读全文
posted @ 2011-11-02 15:49
CBDoctor
阅读(275)
推荐(0)