- 博客(41)
- 收藏
- 关注
转载 文件编码格式
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:ASC码: 00110101 00110110 00110111 00111000 ↓ ↓ ↓ ↓十进制码: 5 6 7 8 共占用4
2015-07-28 13:13:49
615
原创 工厂模式
优秀的代码:业务逻辑和界面逻辑无耦合,简洁,可扩张性强工厂模式有三种:简单工厂模式、工厂方法模式、抽象工厂模式。单看字面意思,感觉都是工厂,没什么不一样。下面我们一一说明不同的工厂模式的特点。首先,简单工厂模式,简单来讲就是用一个工厂类来实现需要的实例的创建过程。每增加一个产品类型,我们就需要在这个工厂类中添加相应产品的实例创建过程。这样讲有些抽象,下面我们用一个实例来进行说明,一家厂家生产不
2015-05-04 21:57:33
497
转载 C++标准库简介
C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 形式的标准头文件【 例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。 C++标准库的内容分为10
2014-11-13 22:20:55
484
转载 Linux(Ubuntu)安装OpenGL/Glut库
sudo apt-get install freeglut3 freeglut3-dev如果Ubuntu的版本在11.10或者更高的话还需要安装下面的包以解决连接问题// For newer versions of Ubuntu(>=11.10) you have to install another package because the linker does not link
2014-11-13 14:24:28
2126
原创 error LNK2001: unresolved external symbol ___glutInitWithExit@12
错误信息:GG.OBJ : error LNK2001: unresolved external symbol ___glutInitWithExit@12GG.OBJ : error LNK2001: unresolved external symbol ___glutCreateWindowWithExit@8
2014-09-08 18:30:45
634
原创 fatal error C1010: unexpected end of file while looking for precompiled header directive
错误信息:1010:寻找预编译头文件
2014-09-08 18:27:15
585
转载 计算机视觉的一些测试数据集和源码站点
转自:http://blog.youkuaiyun.com/zhubenfulovepoem/article/details/7191794 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里的关于计算机视觉的一些测试数据集和源码站点,我整理了下,加了点中文注解。ComputerVision:Algorithms
2014-08-26 18:34:52
1079
转载 cvGoodFeaturesToTrack的解析与应用
[cpp] view plaincopyvoid cvGoodFeaturesToTrack( const CvArr* image //(8,1) or (32,1) (8-bit ,single-channel) (floating-point 32-bit,single-channel) CvArr* eigImage,//(32,1) CvArr* tempImage
2014-08-21 10:30:55
511
转载 OpenCV:cvGoodFeaturesToTrack 和cvFindCorner特征点检测
原文地址:和cvFindCornerSubPix 特征点检测">OpenCV:cvGoodFeaturesToTrack 和cvFindCornerSubPix 特征点检测作者:imagine角点检测(Corner Detection) cvFindCornerSubPix使用范例原文来自OpenCV中文论坛:http://www.opencv.org.cn/forum/viewtopic
2014-08-21 10:18:02
849
原创 交换两个值得分析
1、正确做法void swap(int *x,int *y){int temp = *x;*x = *y;*y = temp;}2、典型的错误做法void swap(int *x,int *y){int *temp = x;x = y;y = temp;}void swap(int x,int y){int temp =
2014-08-20 10:56:23
535
转载 Kanade-Lucas-Tomasi(KLT)进行目标跟踪
近来在研究跟踪,跟踪的方法其实有很多,如粒子滤波(pf)、meanshift跟踪,以及KLT跟踪或叫Lucas光流法,这些方法各自有各自的有点,对于粒子滤波而言,它能够比较好的在全局搜索到最优解,但其求解速度相对较慢,由于其是基于颜色直方图的计算,所以对相同颜色东西不太能够区别,meanshift方法很容易陷入局部最优,但速度还是挺快,所以现在很有一些人是将meanshift跟pf结合做跟踪,恰好
2014-08-19 17:05:06
535
原创 Vega Prime结合MFC
Vega Prime一般与VS2003结合使用效果最佳,当然也可以与VC6.0 结合。具体Vega Prime如何嵌入到MFC中,有两种方法:1、在VC++6.0中新建一单文档程序在OnCreate()函数中加入初始化、定义、配置函数,如下:result = vp::initialize(__argc, __argv);// 设置ACF文件CString acfFile;if
2014-08-19 17:02:10
2491
转载 C++中的智能指针(smart pointer)
一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::share
2014-08-19 16:58:37
617
转载 斐波那契数列和1/89
斐波那契数列作为最有名的数列之一广为人之,它的顺序就是 0,1,1,2,3,5,8,13,… 每个数字都是前两个数字的和,这个数列有很多有意思的特征,比和数字“89”的关系。方法很简单,把数列排列成一列,然后每个数都依次右移,最后加在一起形成一个小数,这个数恰好就是1/89。 0.0 0.01 0.001
2014-08-19 10:02:11
3413
转载 实现 jpeg转bmp
一、vc编译jpeglib库1、下载源代码下载地址:http://www.ijg.org/。注意:一定要下载win32 版本2、编译源代码. A、解压源代码,修改源代码中jconfig.vc为jconfig.h; B、添加环境变量PATH,C:/Program Files/Microsoft Visual Studio/VC98/Bin ;
2014-07-02 18:30:17
891
转载 基于SPH的流体模拟实践和一些技巧总结
SPH的流体模拟是目前大多数游戏所采用的模拟流体方法,特点是简单,十分容易实现,相比与基于Grid的Eulerian方法更加简单和高速,本文主要介绍一下使用SPH的流体模拟中一些常用的技巧和数据结构。目前流体模拟中常用的2类方法,分别代表了从2种不同的方面来解释Navier-Stokes的流体方程: 1、Eulerian方法从空间固定点观察该点的值得变化。
2014-07-02 16:57:05
1277
转载 C++学习心得
1.把C++当成一门新的语言学习;2.看《Thinking In C++》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;5.不要放过任何一个看上去很简单
2014-06-19 11:13:41
499
转载 图像处理和计算机视觉中的经典论文
前言:最近由于工作的关系,接触到了很多篇以前都没有听说过的经典文章,在感叹这些文章伟大的同时,也顿感自己视野的狭小。 想在网上找找计算机视觉界的经典文章汇总,一直没有找到。失望之余,我决定自己总结一篇,希望对 CV 领域的童鞋们有所帮助。由于自己的视野比较狭窄,肯定也有很多疏漏,权当抛砖引玉了,如果你觉得哪篇文章是非常经典的,也可以把相关信息连带你的昵称发给我,我好补上。我的信箱 xdyang.
2014-06-19 11:12:07
929
转载 Kanade-Lucas-Tomasi(KLT)进行目标跟踪
近来在研究跟踪,跟踪的方法其实有很多,如粒子滤波(pf)、meanshift跟踪,以及KLT跟踪或叫Lucas光流法,这些方法各自有各自的有点,对于粒子滤波而言,它能够比较好的在全局搜索到最优解,但其求解速度相对较慢,由于其是基于颜色直方图的计算,所以对相同颜色东西不太能够区别,meanshift方法很容易陷入局部最优,但速度还是挺快,所以现在很有一些人是将meanshift跟pf结合做跟踪,恰好
2014-06-19 11:02:45
573
转载 mysql语句:批量更新多条记录的不同值
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:UPDATEmytable SETmyfield = 'value'WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即可:UPDATE
2014-06-07 22:13:15
528
转载 构建Maven项目
1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 点击eclipse菜单栏Help->Eclipse Marketplace搜索到插件Maven Integration for Eclipse 并点击安装即可,如下图: 安装成成之后我们在Eclipse菜单栏中点击File->New->Othe
2014-04-08 14:08:52
476
原创 C++中的引用
引用是一种复合类型(compound type),我们通常所说的引用为左值引用(lvalue reference),C++11中新增加了一种引用,叫做右值引用(rvalue reference),这种引用主要用于内置类中,稍后介绍,今天主要讲我们通常说的引用,也就是左值引用。引用,其实是为对象另起一个名字。 通过&定义,当然引用定义的时候必须初始化
2014-04-02 17:37:00
483
转载 struct结构体占内存大小计算
注意:struct 的{}后面要加上 ”;“#includestruct A{ int a; double b; char c;};struct B{ double b; char c; int a;};struct
2014-03-31 17:08:31
1153
原创 数组设置初试、动态数组的申请与释放
1、占用空间较大的数组,如何快熟的实现赋值使用与内存操作相关的C++系统函数memcpymemcpy(*dst,*src,int n) 例子:T *region //T 为类型 可为基本类型 自定义类型 ;region为已经赋值的对象或者指针 T *flag //flag为待赋值对象或者指针 memcpy(r
2014-03-26 18:16:35
851
原创 如何为虚拟电脑安装ubuntu系统以及可能出现的问题解决
前面介绍了VIrtualBox上如何创建新虚拟电脑,今天实现在虚拟电脑上安装ubuntu系统。 需要的材料: Ubuntu12.04 或者其他版本的镜像文件。可到ubuntu的官网上下载 安装过程:1、运行VIrtualBox,选择创建的虚拟电脑 2、点击控制栏中的“设置”选项——〉storage,如下 点击红色框内的图标出现如下界面:
2014-03-18 18:23:49
1158
原创 Virtualbox上创建虚拟电脑
直接上手,不说其他前期准备:Virtualbox4.1.8 (或者其他版本 )、 ubuntu12.04(或者其他版本 )、注意:ubuntu版本下载的时候注意选择与自己计算机cpu向匹配的版本下载分为i386和amd,一般下载i3861、安装Virtualbox双击exe文件,一路“next”即可完成Virtualbox的安装2、创建虚拟电脑启动Virtual
2014-03-15 14:29:16
582
转载 Unable to boot – please use a kernel appropriate for your CPU.
今天用VirtualBox 4.1.8 装了个ubuntu-12.04,正在装的时候就提示:This kernel requires the following features not present on the CPU:Unable to boot – please use a kernel appropriate for your CPU.百度了一下,找到解决方案与我的版
2014-03-14 10:55:19
606
原创 指针初步知识
指针是用来保存内存地址的变量,需要注意以下几点:分清楚指针的地址,指针保存的地址、指针保存的地址的数值定义一个指针后需要用他来保存一个内存地址,否则,该指针就是一个迷途指针。迷途指针可指向任意一个地址,并且对该地址的值进行更新,可能会造成意想不到的后果若要将指针指向堆,需要使用关键字new来申请堆中的地址,堆中的变量都是匿名的,只能通过指针来访问,待堆中的变量使用完成,则需要使用关键字
2014-03-03 19:36:53
557
原创 C++中数据的存储形式
一般来说,写程序就是跟数据打交道,执行某一功能程序时,就是将该功能所需要的数据加载到内存中,然后在执行完毕后释放该内存。数据在内存中的存放形式有:栈区—— 由编译器自动分配和释放,一般存放函数的参数值、局部变量的值堆区——一般由程序员分配和释放,如果程序员不释放,程序结束的时候由操作系统回收寄存器区——用来保存栈顶指针和指令指针全局区(静态区)——用来存放全局变量和静态变量。初始化
2014-03-03 19:09:59
2412
转载 六款常用的linux C/C++ IDE
一、AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴趣无关的代码。配置C/C++环境请看这里项目主页:http://anjuta.sourceforge.net/#安装:s
2014-03-02 10:33:35
577
原创 指针作为函数返回值需要注意的情况
指针作为函数的返回值,会遇到的误解问题#includeint *buffer();int main(){ int *p = buffer(); int i; for(i = 0;i {p[i] = i;printf("%d ",p[i]); }return 0;}int *buffer(){int a[100];re
2014-02-28 10:09:09
956
转载 Debug和Release的区别
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。Release Build不对源代码进行调试,不考虑MFC的诊断宏,
2014-02-26 14:36:26
494
转载 VC++ Unable to register this add-in because its DllRegisterServer returns an error 解决方案
1.下载VC6LineNumberAddin插件及注册文件。(以下是参考链接:) http://codefish.googlecode.com/files/VC%E6%98%BE%E7%A4%BA%E8%A1%8C%E5%8F%B7_VC6LineNumberAddin.rar 2.解压把拷贝VC6LineNumberAddin.dll到VC6安装路径下的AddIns文件夹,笔者的完整
2014-02-25 20:10:57
778
原创 VC的一些使用技巧
1、格式化一段不符合规矩的代码的快捷键:Ctrl + F82、一次注释多行代码的快捷键设置方法: 菜单栏选择“工具”,之后选择“宏”,出现下图 点击确定----选项----载入文件----确定在弹出的对话框中将simple勾选,关闭再次点击工具----宏----选项,选择SAMPLE-----CommentOut----击键按下你要
2014-02-25 20:04:46
581
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人