自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

转载 opencv 网上资源

<br />官方网站  www.opencv.org.cn<br />一前辈的日志  : http://vinjn.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart<br />另一前辈的日志  : http://blog.csdn.net/gnuhpc/category/549384.aspx<br />opencv 数据读写操作+图像噪声+ MFC下OpenCV源代码  : http://www.opencv.org.cn/forum

2011-04-22 22:43:00 1627 1

转载 基于OpenCV+MFC的AVI视频文件读取及运动检测

<br />刚刚看了 OpenCV帮助文档里面的一个“读视频文件和运动问题检测”的例程,便简单用VC6.0的MFC对话框程序做了下测试,感觉效果不错,故贴上来供和我一样的初学者做参考,做法如下(假设已经做好OpenCV头文件及lib文件等设置): <br />1.用VC6.0的MFC建立一个对话框程序,设工程名为 ReadVideo; <br />2.在对话框上添加两个按钮,一个用于打开AVI视频文件,一个用于做处理按钮, <br />设ID分别为: IDC_FILE_OPEN和IDC_VIDEO_PRO;

2010-12-03 21:54:00 3421 1

转载 ransac算法(随机抽样一致性)

<br />对于运行不了几次,一次运行不了多久的方法,我们不需要考虑性能优化,对于那些需要经常运行几百次几千次的方法,我们头脑里还是要有性能这根弦。C#太优雅方便了,以至于很多人写程序时根本就把性能抛到脑后了,不愿意耗费心思去进行代码优化和算法优化,结果写出来的程序奇慢无比。不明真相的群众把这怪罪给C#语言。这不是C#的杯具,是程序员的无能。<br />2个月前,我研究sift(一种重要的图像分析算法)。最先找到了一个C#实现的library——libsift,这个library处理一张正常大小的图像,要耗

2010-12-02 14:52:00 10393 1

转载 ransac算法(随机抽样一致性)

<br />对于运行不了几次,一次运行不了多久的方法,我们不需要考虑性能优化,对于那些需要经常运行几百次几千次的方法,我们头脑里还是要有性能这根弦。C#太优雅方便了,以至于很多人写程序时根本就把性能抛到脑后了,不愿意耗费心思去进行代码优化和算法优化,结果写出来的程序奇慢无比。不明真相的群众把这怪罪给C#语言。这不是C#的杯具,是程序员的无能。<br />2个月前,我研究sift(一种重要的图像分析算法)。最先找到了一个C#实现的library——libsift,这个library处理一张正常大小的图像,要耗

2010-12-02 14:50:00 3596 1

转载 卡拉曼滤波

<br />最佳线性滤波理论起源于40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上说,维纳滤波的最大缺点是必须用到无限过去的数据,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推估计算法,后人称之为卡尔曼滤波理论。卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时

2010-12-02 10:52:00 1816

转载 SIFT算法的教程、源码及应用软件

SIFT算法的教程、源码及应用软件<br />1、ubc:DAVID LOWE---SIFT算法的创始人,两篇巨经典经典的文章<br />http://www.cs.ubc.ca/~lowe/<br />2、cmu:YanKe---PCASIFT,总结的SIFT方面的文章SO全,巨经典<br />http://www.andrew.cmu.edu/user/yke/<br />3、ubc:MBROWN---SIFT算法用于图像拼接的经典应用autopano-sift,包括一个SIFTLIB库<br />ht

2010-11-30 22:01:00 1664 1

转载 SIFT算法学习:特征提取函数的使用

<br />前面有朋友问到Sift特征点的提取方法,这里简单做个介绍。<br />     作为一种匹配能力较强的局部描述算子,SIFT算法的实现相当复杂,但从软件开发的角度来说,只要会使用其中几个比较重要的函数就行了。这里要感谢David Lowe这个大牛,不但提供了一种强悍的特征匹配算法,还给出了C++的实现代码,后来有人用C#实现了这个算法,需要的朋友可到网上自行下载。<br />        <br />     关键函数一:<br />     int sift_features( IplIma

2010-11-30 21:51:00 1029

转载 Sift算法学习小记

 Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善。Sift特征匹配算法可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,具有很强的匹配能力。在Mikolajczyk对包括Sift算子在内的十种局部描述子所做的不变性对比实验中,Sift及其扩展算法已被证实在同类描述子中具有最强的健壮性。    总体来说,Sift算子具有以下特性:   (1)Sift特征是图像的局部特征,对平移、旋转、尺度缩放、亮度变化、遮挡和噪声等具有良好的不变性,对视觉变

2010-11-30 21:46:00 710

转载 角点检测(Corner Detection) cvFindCornerSubPix 使用范例

<br />这段范例包含如何使用函数cvGoodFeaturesToTrack 和cvFindCornerSubPix 来进行角点检测的(Corner Detection)。 我发现cvFindCornerSubPix的范例在网络上比较少, 所以把我的这段程序整理了出来,并给出这个函数最后2个参数的解释,希望对大家有帮助。<br /><br />注意,cvFindCornerSubPix函数的使用必须是在cvGoodFeaturesToTrack实现基础上的,因为是subpix函数是对于goodfeatur

2010-11-29 13:17:00 1462

转载 opencv中的IplImage

<br />由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构。IplImage结构来源于Intel的另外一个函数库Intel Image Processing Library (IPL),该函数库主要是针对图像处理。IplImage结构具体定义如下:<br />typedef struct _IplImage<br />    {<br />        int nSize;         /* IplImage大小 */<br />       

2010-11-28 16:25:00 11851

转载 图像显示与加载

cvLoadImage()<br />函数:IplImage* cvLoadImage("图像名称",参数);<br />函数作用:加载图片;<br />函数返回值:为IplImage结构体;<br />参数说明:参数值的宏定义如下;<br />#define CV_LOAD_IMAGE_UNCHANGED -1 原始图像<br />#define CV_LOAD_IMAGE_GRAYSCALE 0 灰度图像<br />#define CV_LOAD_IMAGE_COLOR 1 彩色<br />#defin

2010-11-28 16:23:00 4807

转载 标准视频测试序列下载地址收藏

标准视频测试序列下载地址收藏<br />http://trace.eas.asu.edu/http://www.tkn.tu-berlin.de/research/vid/(此网站已经移走,正在寻找。)<br />CIF: Akiyo、Bridge (far) 、Bridge (close) 、Bus 、Container 、Coastguard 、Flower 、Football 、Foreman 、Hall 、Highway 、Mobile & Calendar 、Mother & Daughter

2010-11-28 14:25:00 9563

转载 最大流的邻接矩阵实现

最大流算法的邻接阵实现<br />1.    最大流最小割定理介绍:<br />把一个流网络的顶点集划分成两个集合S和T,使得源点s ∈S且汇点t ∈T,割(S,T)的容量C(S,T) =∑Cuv, 其中u∈S且v∈T。<br />从直观上看,截集(S,T)是从源点s到汇点t的必经之路,如果该路堵塞则流从s无法到达t。于是我们可以得到下面的定理:<br /> <br />最大流最小割定理:<br />任意一个流网络的最大流量等于该网络的最小的割的容量。<br /> <br />这个定理的证明这里就不给出了,

2010-11-25 20:20:00 1802

转载 最大流算法实现

最大流算法

2010-11-25 20:11:00 818

转载 最大流/最小割

图论中的一种理论与方法,研究网络上的一类最优化问题 。1955年 ,T.E. 哈里斯在研究铁路最大通量时首先提出在一个给定的网络上寻求两点间最大运输量的问题。1956年,L.R. 福特和 D.R. 富尔克森等人给出了解决这类问题的算法,从而建立了网络流理论。所谓网络或容量网络指的是一个连通的赋权有向图 D= (V、E、C) , 其中V 是该图的顶点集,E是有向边(即弧)集,C是弧上的容量。此外顶点集中包括一个起点和一个终点。网络上的流就是由起点流向终点的可行流,这是定义在网络上的非负函数,它一方面受到容量的

2010-11-25 20:08:00 5190

转载 数字图像的直方图均衡化(C/C++源代码)

<br />数字图像的直方图均衡化是常用的图像增强方法,因为均衡化是自动完成的,无需人工干预,而且常常得到比较满意的结果。下面的程序是利用OPENCV提供的函数,实现这个功能。需要OPENCV B4.0的支持,在VC6下编译通过。<br />//<br />// perform histgram equalization for single channel image<br />// AssureDigit Sample code<br />//<br /><br />#include "cv.h"<br

2010-11-25 16:43:00 1656

转载 基于Opencv的MeanShift跟踪算法实现

<br />#include "cv.h"<br />#include "highgui.h"<br />#include <stdio.h><br />#include <ctype.h><br />IplImage *image = 0, *hsv = 0, *hue = 0, *mask = 0, *backproject = 0, *histimg = 0;//用HSV中的Hue分量进行跟踪<br />CvHistogram *hist = 0;//直方图类<br />int backproject

2010-11-25 16:40:00 2103

转载 其它排序

<br />1.双向冒泡:<br />通常的冒泡是单向的,而这里是双向的,也就是说还要进行反向的工作。<br />代码看起来复杂,仔细理一下就明白了,是一个来回震荡的方式。<br />写这段代码的作者认为这样可以在冒泡的基础上减少一些交换(我不这么认为,也许我错了)。<br />反正我认为这是一段有趣的代码,值得一看。<br />#include <iostream.h><br />void Bubble2Sort(int* pData,int Count)<br />{<br />    int iTem

2010-11-25 13:42:00 555

转载 高级排序

<br />二、高级排序算法:<br />高级排序算法中我们将只介绍这一种,同时也是目前我所知道(我看过的资料中)的最快的。它的工作看起来仍然象一个二叉树。首先我们选择一个中间值middle程序中我们使用数组中间值,然后把比它小的放在左边,大的放在右边(具体的实现是从两边找,找到一对后交换)。然后对两边分别使用这个过程(最容易的方法——递归)。<br /><br />1.快速排序:<br />#include <iostream.h><br /><br />void run(int* pData,int l

2010-11-25 13:40:00 507

转载 排序系列(四)

<br />4.插入法:<br />插入法较为复杂,它的基本工作原理是抽出牌,在前面的牌中寻找相应的位置插入,然后继续下一张<br />#include <iostream.h><br />void InsertSort(int* pData,int Count)<br />{<br />    int iTemp;<br />    int iPos;<br />    for(int i=1;i<Count;i++)<br />    {<br />        iTemp = pData[i];<b

2010-11-25 13:39:00 506

转载 排序系列(三)

<br />3.选择法:<br />现在我们终于可以看到一点希望:选择法,这种方法提高了一点性能(某些情况下)这种方法类似我们人为的排序习惯:从数据中选择最小的同第一个值交换,在从省下的部分中选择最小的与第二个交换,这样往复下去。<br />#include <iostream.h><br />void SelectSort(int* pData,int Count)<br />{<br />    int iTemp;<br />    int iPos;<br />    for(int i=0;i<C

2010-11-25 13:36:00 441

转载 排序系列(二)

2.交换法:交换法的程序最清晰简单,每次用当前的元素一一的同其后的元素比较并交换。#include void ExchangeSort(int* pData,int Count){    int iTemp;    for(int i=0;i    {        for(int j=i+1;j        {            if(pData[j]            {                iTemp = pData[i];                pData[i] = pD

2010-11-25 13:35:00 402

转载 排序系列(一)

<br />1.冒泡法:<br />这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:<br />#include <iostream.h><br /><br />void BubbleSort(int* pData,int Count)<br />{<br />    int iTemp;<br />    for(int i=1;i<Count;i++)<br />    {<br />        for(int j=Count-1;j>=i;j--)<br />   

2010-11-25 13:34:00 521

转载 二分图的最大匹配匈牙利算法和最小支配集

<br />求二分图最大匹配(指派问题)的匈牙利算法:   <br />谈匈牙利算法自然避不开Hall定理,即是:对于二部图G,存在一个匹配M, <br />使得X的所有顶点关于M饱和的充要条件是:对于X的任意一个子集A,和A邻接的点集为T(A),恒有:   |T(A)|   > =   |A|   <br />匈牙利算法是基于Hall定理中充分性证明的思想,其基本步骤为:   <br />1.任给初始匹配M;   <br />2.若X已饱和则结束,否则进行第3步;   <br />3.在X中找到一个非饱和

2010-11-25 13:30:00 3561

转载 OpenCV学习笔记系列

OpenCV学习笔记<br />一、OpenCV概述与功能介绍<br />OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。 <br />OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。代码下载地址:http://www.sourceforge.net/proje

2010-11-23 09:47:00 1261

转载 OpenCV学习笔记系列(七)

<br />cvAddWeighted 和 Alpha 混合<br /> <br /><br />void cvAddWeighted(<br />    constCvArr* src1, double alpha,<br />    const CvArr* src2,<br />    double beta,<br />    double gamma,<br />    CvArr* dst<br />);<br />在cvAddWeighted()中,有两个源图象src1 和 src2。 这两个

2010-11-23 09:43:00 838

转载 OpenCV学习笔记系列(六)

访问图象数据当处理图象数据时,通常需要快速高效。使用如cvSet*D或和它等效的函数会造成调用时的开销。我们应该尽可能使用直接存取图象内部数据的方法。有了IplImage内部结构的知识,我们现在可以理解最好的方法。 尽管通常OpenCV提供很多对图象的操作优化良好的例程,但是经常会有些任务是库里找不到包装好的例程的。下面我们考虑一个例子,我们想要把三通道HSV图象的饱合度调整为255(8位图象的最大值)而保持色调不变。要完成这个任务最好是我们自己处理图象的每个象素。这和我们前边对矩阵的操作相似,但在IplI

2010-11-23 09:34:00 4942 1

转载 OpenCV学习笔记系列(五)

访问图象数据当处理图象数据时,通常需要快速高效。使用如cvSet*D或和它等效的函数会造成调用时的开销。我们应该尽可能使用直接存取图象内部数据的方法。有了IplImage内部结构的知识,我们现在可以理解最好的方法。 尽管通常OpenCV提供很多对图象的操作优化良好的例程,但是经常会有些任务是库里找不到包装好的例程的。下面我们考虑一个例子,我们想要把三通道HSV图象的饱合度调整为255(8位图象的最大值)而保持色调不变。要完成这个任务最好是我们自己处理图象的每个象素。这和我们前边对矩阵的操作相似,但在IplI

2010-11-23 09:33:00 826

转载 OpenCV学习笔记系列(四)

<br />IplImage数据结构<br /> <br />在使用OpenCV时,将会反复的遇到IplImage这个数据类型。IplImage是用来编码我们通常所讲的“图象”的基本的数据结构。<br />有了前边所学的内容,就可以很容易的讨论IplIage的数据结构。在本质上是隐藏了额外成员的CvMat对象,这些额外的成员使矩阵可以解释为图象。这个结构最早被定义为Intel图形处理库(Intel’s Image Processing Library, IPL)的一部分。IplImage结构准确的定义如3-

2010-11-23 09:29:00 1211

转载 OpenCV学习笔记系列(三)

<br />访问矩阵中的数据<br />有三种方法访问矩阵中的数据:简单的方法、困难的方法和最恰当的方法。 <br />简单的方法(The easy way)<br />最简单的获取矩阵中数据的方法是使用CV_MAT_ELEM( )宏。这个宏输入矩阵、数据的类型、行、列,然后返回矩阵元素。例如: <br />CvMat* mat = cvCreateMat( 5, 5, CV_32FC1 );<br />float element_3_2 = CV_MAT_ELEM( *mat, float, 3, 2 )

2010-11-23 09:27:00 1672

转载 OpenCV学习笔记系列(二)

矩阵和图象类型三种图象类型的类或结构继承图: 在使用OpenCV时,将会反复的遇到IplImage这个数据类型。IplImage是用来编码我们通常所讲的“图象”的基本的数据结构。这些图象可能是灰度的、彩色的、四通道(RGB+alpha)的,每个通道可能包含多种类型的整数的浮点型数据。因此这个类型比我们立刻想到的三通道8位RGB图象一般(general)的多。 在我们具体讨论图象之前,我们需要首先看一下另一种数据类型:CvMat,OpenCV的矩阵结构。虽然OpenCV完全是用C实现的,CvMat和IplIm

2010-11-23 09:22:00 1181

转载 opencv学习笔记系列(一)

OpenCV学习笔记之一(OpenCV的基本数据类型)<br />资料来源《OReilly Learning OpenCV》<br /> <br />OpenCV有一些基本的数据类型(data type),它们都是简单的结构体(struct)。头文件cxtypes.h包含了这些结构的详细定义。 <br />CvPoint,这些结构中最简单的一个,包含两个整型变量x和y。CvPoint还有两个兄弟:CvPoint2D32f 和 CvPoint3D32f。前者包含两个相同的变量x和y,它们都是浮点型的;后者包含

2010-11-23 09:21:00 1691

转载 IplImage类型

<br />当使用OpenCV时,你会经常使用IplImage类型,该类型是OpenCV的基础图像类型。图像可能是灰度图,彩色图,四通道图(RGB+Alpha)等,而每个通道可能是整数或浮点数类型。OpenCV提供了对图像的大量处理操作函数。<br />       在我们讨论IplImage之前,我们需要看另一个数据类型:CvMat,即OpenCV的矩阵类型。尽管OpenCV是用C语言实现的,但是CvMat和 IplImage的关系其实就类似于C++中的类的继承关系。IplImage类继承自CvMat类。

2010-11-23 09:19:00 3746

转载 Learning OpenCV

当使用OpenCV时,你会经常使用IplImage类型,该类型是OpenCV的基础图像类型。图像可能是灰度图,彩色图,四通道图(RGB+Alpha)等,而每个通道可能是整数或浮点数类型。OpenCV提供了对图像的大量处理操作函数。       在我们讨论IplImage之前,我们需要看另一个数据类型:CvMat,即OpenCV的矩阵类型。尽管OpenCV是用C语言实现的,但是CvMat和 IplImage的关系其实就类似于C++中的类的继承关系。IplImage类继承自CvMat类。所以,我们最好先了解一下

2010-11-19 14:37:00 737

转载 学习Opencv第4章课后习题

<br />1.<br />#include "cv.h"<br />#include "cxcore.h"<br />#include "highgui.h"<br />void main( int argc, char** argv )<br />{<br />CvCapture* capture; <br />IplImage* frame;<br />IplImage* pImg = NULL; <br />IplImage* pGray = NULL;<br />IplImage* sGray =

2010-11-19 14:33:00 1062

转载 学习Opencv第2章课后习题

<br />3.   <br /><br />4.   <br /><br />5.   <br /><br />//实现摄像机视频数据缩放显示,同时存入磁盘,可以动态的调节缩放比例。   <br /><br />#include "cv.h"   <br />#include "highgui.h"   <br />#include <stdio.h>   <br /><br />int        g_slider_position = 0;   <br />IplImage* doPyrDown(I

2010-11-19 14:31:00 718

转载 学习Opencv第3章课后习题

1.a.abs() cvRound() cvFloor() cvCeil()b.cvRNG() cvRandInt() cvRandReal()c.cvPointFrom32f()d.cvPointTo32f()2.#include #include #include int main(int argc, char** argv){IplImage *img;    img = cvCreateImage(cvSize(200,200),IPL_DEPTH_8U,3);cvZero(img);cvCircl

2010-11-19 14:28:00 815 1

转载 矩阵相关操作

<br />1.初始化矩阵:<br />方式一、逐点赋值式:<br />CvMat* mat = cvCreateMat( 2, 2, CV_64FC1 );<br />cvZero( mat );<br />cvmSet( mat, 0, 0, 1 );<br />cvmSet( mat, 0, 1, 2 );<br />cvmSet( mat, 1, 0, 3 );<br />cvmSet( mat, 2, 2, 4 );<br />cvReleaseMat( &mat );<br />方式二、连接现有

2010-11-19 13:56:00 657

视频的前背景分割MATLAB实现

用MATLAB实现视频的前背景分割,并有AVI格式分割视频实例

2010-10-12

数字图像处理c++程序

用vc++编写的数字图像处理的程序,包含中值滤波,边缘锐化,直方图等等

2010-04-07

粒子群算法优化RBF网络

粒子群算法优化RBF网络,可作为学习算法优化和神经网络的很好资料

2009-12-17

空空如也

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

TA关注的人

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