自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风似水流的专栏

身似行云流水,心如皓月清风。

  • 博客(61)
  • 资源 (18)
  • 收藏
  • 关注

转载 位运算符(一):C/C++位运算符

位运算是指按二进制进行的运算。在程序中,常常需要处理二进制位的问题。C/C++语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。    在实际应用中,建议用unsigned整型操作数,因为带符号操作数可能因为不同机器结果不同。    c++和c的位操作运算符完全相同,但c++中增加了bitset标准库来支

2013-12-11 08:26:02 1068

原创 VS 2010下一次性配置opencv(32位和64位相同)

1、下载OpenCV2.x.x superpackage(地址为:http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5)     2、 配置环境变量     我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,新建path和OPENCV两个项,如下图所示:

2013-12-10 10:07:47 2860

原创 Visual Studio 2010 编译Duilib源码报错: error C2371: “IDispatchEx”: 重定义;不同的基类型 解决方法

通过SVN从官网下载更新代码,然后用Visual Studio 2010编译报错如下: 解决方法如下:    UIFlash.h 行:#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids 改为: #import "..\Utils/Flash11.tlb" raw_interfa

2013-12-10 10:06:17 2769

原创 常量指针和指针常量

使用一个指针时涉及到两个对象:该指针本身和被它所指的对象。将一个指针的声明应const“预先固定”将使那个对象而不是使这个指针成为常量。要讲指针本身而不是被指对象声明为常量。我们必须使用声明运算符*const,而不能简单的使用const。举例:void fl(char *p){ char s[] = "Gold"; const char *pc = s; //指向常量

2013-12-10 10:04:13 807

原创 strlen函数实现的几种方法

常见的一个笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen(const char *p);    在字符串中通常可以利用最后一个结束符’\0’,但此处参数为const,只读,那么我们不能打他的主意。  函数运行过程中不占用内存基本不可能,除非都使用了寄存器。“不使用中间变量”只是说程序员不能显示的申请

2013-12-10 10:00:54 1362

原创 为Visual Studio 2012文本编辑框添加背景图片

首先,弄张效果图看看。下面介绍具体操作方法。1、打开vs 2012,选择“工具”->“扩展和更新",在”联机“里面搜索”text background“,搜索结果中找到”Text Editor Background Vs 2012“,然后,安装重启VS2012.。2、然后选择“工具”->“选项”,找到“Text Editor Background ”,下图所示:3、

2013-11-15 11:20:01 3539

原创 OpenCV双摄像头摄像头定标与立体匹配遇到的问题

进过我的不懈努力,OpenCV双摄像头摄像头定标与立体匹配这个程序算是完成了,下面介绍下过程中遇到的问题。1、OpenCV棋盘格的定标问题。奇了怪了,每次重新定标,结果都是差异很大,网上查资料,说是MatLab标定箱效果比较好,这是下载地址:http://www.vision.caltech.edu/bouguetj/calib_doc/,使用方法参见此帖子;http://blog.lehu.

2013-11-14 15:00:13 2437

原创 reprojectImageTo3D函数讲解

函数名称:reprojectImageTo3D函数原型:void reprojectImageTo3D(InputArray disparity,OutputArray _3dImage,InputArray Q, bool handleMissingValues=false, int ddepth=-1 )函数作用:根据一组差异图像构建3D空间参数说明:disparity

2013-11-14 11:30:26 21172 12

转载 Matlab标定工具箱使用的一些注意事项

最近使用了Matlab标定工具箱来与OpenCV的StereoCalibration的结果进行对比。现把在使用过程中,遇到的一些问题,进行了总结:(详细说明请参见程序主页http://www.vision.caltech.edu/bouguetj/calib_doc/)一般的标定过程:选择图像读取方式(标准,还是一副一副的读),如果选择一次性将文件读入内存,则在后面输入文件基本名称和文件格

2013-11-13 10:36:44 2342

原创 Matlab摄像头标定得出的参数保存为xml

最近在做双摄像头的立体匹配,发现OpenCV定标效果不如MatLab的效果,于是用MatLab标定箱做标定,将得到的结果保存为xml,然后,提供给opencv使用。   MatLab标定箱做标定得到的结果如下图所示:      将结果保存为xml代码如下:  // SaveMatLabCalibParam.cpp : 定义控制台应用程序的入口点。//#include "s

2013-11-08 20:03:51 8064 8

转载 给VS2008/VS2010 MFC项目添加启动画面

在VC6.0时代,我们通过在MFC工程中插入Splash组件来简单方便的实现这个功能,但在VS2008以后就没有了这个功能,所以如果想给自己的程序添加一个显示Logo的启动画面,就需要自己添加代码来实现,参考了下VC6.0中这个Splash组件添加后的代码,就很容易在自己的项目里实现这个功能。如下图。 首先,在菜单的“项目”中选择“类向导”,生成一个启动画面的Splash类

2013-11-04 07:53:16 1322

转载 OpenCV矩阵运算

一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mask,dtype);scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2;2.减法absdiff(I1,I2,I);//I=|I1-I2|;A-B;A-

2013-10-28 15:18:29 1300

原创 三维建模的相关网站或者博客参考集锦

下面是我在查找三维建模相关资料,总结的一些比较好或者有用三维建模方面的相关博客或者网站,供大家参考一下。     1、OpenCV学习笔记(16)双目测距与三维重建的OpenCV实现问题集锦(一)图像获取与单目定标     http://blog.csdn.net/chenyusiyuan/article/details/5961769

2013-10-24 14:26:48 1373

原创 关于VS 2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏解决方案

我的电脑了原来装了VS 2010了,今天下载VS 2012装了上去,然后建了个MFC工程,运行了一下。然后打开原来VS 2010项目,一运行,就报错了:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏。   首先,说明一下报错的原因(微软的解释),地址:http://support.microsoft.com/kb/320216/zh

2013-10-24 14:23:19 1603

转载 双摄像头测距的opencv实现

原文地址:(转)双摄像头测距的opencv实现作者:outman    虽然最近注意力已经不可遏制地被神经科学、大脑记忆机制和各种毕业活动吸引过去了,但是还是觉得有必要把这段时间双目视觉方面的进展总结一下。毕竟从上一篇博文发表之后,很多同仁发E-mail来与我讨论,很多原来的疑团,也在讨论和一步步的试验中逐渐解决了。      开篇之前,首先要感谢maxwellsdemon

2013-09-25 10:32:19 3632

原创 图像代数运算:图像相加

代数运算-图像相加,就是对两幅图像的点之间进行加的运算。四种运算相应的公式为:      s(x,y) = f(x,y) + g(x,y)      图像相加常用来求平均值去除addtive噪声或者实现二次曝光(double-exposure)。

2013-09-16 11:32:08 5914 1

原创 OpenCV导入图像显示到MFC的PICTURE控件

步骤1:添加PICTURE控件,设置控件属性如下图所示:步骤2:将CvvImage.h和CvvImage.cpp添加到工程中。下载地址:

2013-09-10 11:27:23 1367

转载 图像叠加 给照片加水印

C++: void Mat::copyTo(OutputArray m) constC++: void Mat::copyTo(OutputArray m, InputArray mask) const这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上我们可以在大照片上设置一个和小照片一样大的感兴趣

2013-09-10 10:52:16 1690 1

原创 图像内插-最近邻内插法

一、图像内插-最近邻内插法1、数学原理     当一幅二维数字图像从源图像N*M被放为(j*N) * (k*M)目标图像是,参照数学斜率计算公式     必然有: (X1 – Xmin)/(Xmax - Xmin) = (Y1 - Ymin)/(Ymax-Ymin)     当Xmin 和 Ymin均为从零开始的像素点时,公式可以简化为:X=Y1 (Xmax/Yma

2013-08-31 09:12:52 16062 1

原创 关于Kinect根据深度图对齐彩色图抠人比彩色图像人大的问题

我根据Kinect自带的那个绿色抠人Demo,大家有没有发现抠出来的人比彩色图像中人变大了,该Demo是根据一个函数NuiImageGetColorPixelCoordinateFrameFromDepthPixelFrameAtResolution来对齐,导致我根据帧差法得到的前景图无法与抠出人的大小对齐,因此无法修复抠出来人边缘的抖动。下面,我介绍一个函数MapColorFrameToDept

2013-08-08 16:50:18 5043

转载 关于gluPerspective(解释得很好)

函数原型gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)首先得设置gluPerspective,来看看它的参数都表示什么意思fovy,这个最难理解,我的理解是,眼睛睁开的角度,即,视角的大小,如果设置为0,相当你闭上眼睛了,所以什么也看不到,如果为180,那么可以认为你的视界很广阔,

2013-08-05 18:06:53 1742 2

原创 OpenCV2 轮廓处理 多边形逼近

一、说明       轮廓的多边形逼近指的是:使用多边形来近似表示一个轮廓。 多边形逼近的目的是为了减少轮廓的顶点数目。 多边形逼近的结果依然是一个轮廓,只是这个轮廓相对要粗旷一些。  函数原型:void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed)

2013-08-05 18:03:40 8166

原创 OpenCV 2 轮廓检测与显示

一、函数讲解     1、findContours       函数说明:查找二值图像中的轮廓       函数原型:void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset=Point

2013-08-05 15:27:23 3033

原创 程序开机自启动的方法

方法一:   左键单击开始按钮--打开--程序--启动,然后将你要运行的程序的快捷方式放进去就可以了。(注意:是快捷方式,不是exe)   方法二:   bat文件启动,右键单击开始按钮--打开--程序--启动,然后将 bat文件的快捷方式放进去就可以了。   内容:ping 127.0.0.1 -n 5(程序启动时间)               start Correcti

2013-07-26 14:36:02 856

原创 Kinect获取彩色图像(Kinect + OpenCV 2.3.0)

1.开发工具:Visual Studio 2010 + OpenCV2.3.0  使用的是Kinect SDK for Windows 1.7 版本

2013-07-08 13:58:23 2325 1

原创 各种字符类型转换

各种字符类型转换注意事项:默认的编译环境是Unicode环境1.CString转int|int转CString-----------------------------------------------------------------------------------------------------------------------------------情况一:CStrin

2013-07-05 10:17:39 1284

原创 API学习--NUI_IMAGE_FRAME

NUI_IMAGE_FRAME Structure(结构体)结构体名字:NUI_IMAGE_FRAME结构体描述:包含一个深度或者彩色图像帧的信息结构体原型:typedef struct _NUI_IMAGE_FRAME { LARGE_INTEGER liTimeStamp; //最近帧的时间戳 表明时间已经过去 因为最近一次调用

2013-07-05 10:16:08 2700

原创 OpenCV轮廓---多边形逼近

这是一个轮廓的多边形轮廓逼近函数,这个函数用指定精度逼近一个或多个 曲线,并返回逼近结果。首先,轮廓的多边形逼近指的是:使用多边形来近似表示一个轮廓。其次,多边形逼近的目的是为了减少轮廓的顶点数目。但多边形逼近的结果依然是一个轮廓,只是这个轮廓相对要粗旷一些。算法原理比较简单,核心就是不断找多边形最远的点加入形成新的多边形,直到最短距离小于指定的精度。      函数原型:CvSeq* cvA

2013-06-14 15:27:34 6318

原创 OpenCV--绘图操作

一、绘图操作---画抛物线void parabola(IplImage *image, CvPoint pL, CvPoint pM, CvPoint pR, const CvScalar &color, int thickness){ double x1, y1, x2, y2, x3, y3, a, b, c; x1 = (double)pL.x; y1 =

2013-04-09 15:02:00 1491

原创 图像阈值分割---迭代算法

图像阈值分割---迭代算法1.处理流程:       1.为全局阈值选择一个初始估计值T(图像的平均灰度)。       2.用T分割图像。产生两组像素:G1有灰度值大于T的像素组成,G2有小于等于T像素组成。       3.计算G1和G2像素的平均灰度值m1和m2;       4.计算一个新的阈值:T = (m1 + m2) / 2;       5.重复步骤2和4,

2013-01-24 14:26:38 8128

原创 图像阈值分割---基本的全局阈值

由于阈值处理直观、实现简单且计算速度快,因此图像阈值处理在图像分割中处于核心地位,下面我会为大家介绍阈值处理的方法,并用OpenCV给出实现的代码。第一种:图像阈值分割---基本的全局阈值1.  处理流程:             1.为全局阈值选择一个初始估计值T(图像的平均灰度)。             2.用T分割图像。产生两组像素:G1有灰度值大于T的像素组成,G2有小于

2013-01-24 14:14:54 21231 2

原创 char转int

#include #include int main(void){  int n = 0;  char *str = "12345.67";  n = atoi(str);  printf("string = %s integer = %d\n", str, n);  return 0;}简单的实现atoi函数源代码:#include int my_atoi(const

2013-01-04 15:33:30 1122

原创 OpenCV学习-常用的图像和矩阵操作函数

1.cvInRange和cvInRanges//函数原型:void cvInRange(const CvArr* src, const CvArr* lower, const CvArr* upper, CvArr* dst ); void cvInRangeS( const CvArr* src, CvScalar lower, CvScalar upper, CvArr* dst );

2012-12-10 14:16:24 763

转载 C++类的内存地址存放问题

关于结构体和C++类的内存地址问题今天终于有时间写点东西了~ 太爽了  *_*  很多人都知道C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的。下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦。 类分为成员变量和成员函数,我们先来讨论成员变量。 一个类对象的地址就是类所包含的这一片内存空间的首地址,这个首地址也就对应具体某一个成

2012-12-05 23:31:51 586

转载 二十岁出头的时候上,你一无所有,你拥有一切。

(一)嘴上说说的人生那年我在离家的时候一个劲地往自己的硬盘里塞《灌篮高手》,我妈一副嗤之以鼻的表情看着我,似乎是在说:“这么大的人了居然还这么喜欢看动漫。”我不知道怎么回应她,只好耸耸肩,因为我实在无法对我亲爱的娘亲说明这部动漫对我的意义。你知道,有些歌有些东西就是有那种力量。哪怕它在你的手机里藏了好几年,哪怕它早就过了黄金期,哪怕越来越少的人会提起它。你就是知道,当你一听

2012-12-05 13:57:32 608

转载 今天小结一下卡尔曼滤波

一直在看,一直不懂。 我这人学数学的毛病,就是需要非常细致的知道每个变量的含义,谁变谁不变必须清清楚楚告诉我,否则我就没有那个直觉。 anyway,从这篇文章入手吧:http://www.cs.unc.edu/~welch/kalman/media/pdf/kalman_intro_chinese.pdf所谓滤波,实际上是要去掉自己不想要的信号,保留想要的部分。一般来说,是把过程中

2012-12-04 14:03:06 2256 5

转载 OpenCV学习--卡尔曼滤波器

1. 什么是卡尔曼滤波器(What is the Kalman Filter?)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获

2012-12-04 09:43:55 1173

原创 OpenCV学习--cvAddWeighted函数

函数介绍:vAddWeighted( const CvArr* src1, double alpha, const CvArr* src2, double beta, double gamma, CvArr* dst ); src1 第一个原数组. alpha 第一个数组元素的权值 src2 第二个原数组

2012-11-30 16:35:36 1926

原创 OpenCV常用的灰度变换方法

1.图像的反色代码如下:void MakeMat() { IplImage* src = NULL; //加载图片至内存 src = cvLoadImage("E:\\图片\\测试用\\2.jpg"); if (NULL == src) { return; }

2012-11-28 23:24:58 4442

原创 OpenCV学习--cvTermCriteria介绍

CvTermCriteria迭代算法的终止准则#define CV_TERMCRIT_ITER 1#define CV_TERMCRIT_NUMBER CV_TERMCRIT_ITER#define CV_TERMCRIT_EPS 2typedef struct CvTermCriteria { int type; /* CV_TERMCRIT_ITER

2012-11-28 08:57:39 25645 2

电子书记事本

eDiary (电子日记本) 软件,电子书记事本。 eDiary的作用不仅仅在于写日记,您也可以用它来记流水帐、写工作日志,记录学习心得,或者用它来管理你的日常文档。eDiary以时间为主线,以文字为载体,记录你的心路历程。

2013-11-28

《数字图像处理(第三版)》课后习题答案.pdf

《数字图像处理(第三版)》课后习题答案.pdf

2013-11-28

vs 2012助手

vs 2012助手

2013-11-28

计算虚拟超大触摸屏定位方法研究

计算虚拟超大触摸屏定位方法研究

2013-10-24

CvvImage Opencv

CvvImage OpenCV CvvImage Opencv 与MFC结构通过Picture控件显示OpenCV导入的图像

2013-09-10

VNC 破解版

VNC 破解版 vnc-e4_5_3-x86_x64_win32.rar

2013-07-16

虚拟路由器

虚拟路由器 有无限网卡的 可以自己建立无限网络与其他电脑使用

2013-07-08

移动硬盘检测工具

移动硬盘检测工具 检测移动硬盘的状态 使用时间(通电时间)等

2013-07-08

notepad++ 代码查看

notepad++ 代码 查看 经典的代码查看软件 你值得拥有

2013-07-05

SocketTool

TCP/UDP Socket调试工具 可以建立TCP/UDP 客户端和服务端

2013-07-05

OpenCV 帮助文档

OpenCV 帮助文档 里面有详细的函数使用说明 以及使用注意事项 还有常见的图像处理案例

2013-07-05

Windows API 函数 介绍

windows API 简介 里面是32位 windows api 介绍 里面有使用方法和注意事项

2013-07-04

Oepncv常见的阈值分割算法代码

Oepncv 常见的阈值分割算法代码 里面介绍了常见的阈值分割代码的源码

2013-07-04

超大触摸屏点定位方法

超大触摸屏点定位方法 里面有详细的算法实现步骤方法

2013-07-04

google C++编程风格指南

google C++编程风格指南

2012-02-23

VS200X应用程序初始化失败的解决方法

VS200X应用程序初始化失败的解决方法

2011-11-24

高质量C++编程指南

高质量C++编程指南,高质量C++编程指南,高质量C++编程指南,高质量C++编程指南高质量C++编程指南高质量C++编程指南

2011-11-18

vs2010可以用的助手

vs2010可以用的助手。很好用的.开发人员必备的助手啊

2011-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除