BGSLibrary
所属分类:OpenCV
开发工具:Visual C++
文件大小:33039KB
下载次数:13
上传日期:2017-06-20 08:12:14
上 传 者:
ysysys
说明: bgslibrary是一个开源前景背景分割库,包含了一些最新前背景分割算法。
(Bgslibrary is an open source Foreground Background Segmentation library, which contains some latest background segmentation algorithms.)
文件列表:
BGSLibrary (0, 2016-07-26)
BGSLibrary\BGSLibrary (0, 2016-07-26)
BGSLibrary\BGSLibrary.sdf (17825792, 2016-07-26)
BGSLibrary\BGSLibrary.sln (1330, 2016-07-26)
BGSLibrary\BGSLibrary.v12.suo (43008, 2016-07-26)
BGSLibrary\BGSLibrary\BGSLibrary.vcxproj (10517, 2016-07-26)
BGSLibrary\BGSLibrary\BGSLibrary.vcxproj.filters (8275, 2016-07-26)
BGSLibrary\BGSLibrary\config (0, 2016-07-26)
BGSLibrary\BGSLibrary\config\AdaptiveBackgroundLearning.xml (256, 2016-07-26)
BGSLibrary\BGSLibrary\config\AdaptiveSelectiveBackgroundLearning.xml (260, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPAdaptiveMedianBGS.xml (177, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPEigenbackgroundBGS.xml (171, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPGrimsonGMMBGS.xml (174, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPMeanBGS.xml (187, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPPratiMediodBGS.xml (190, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPTextureBGS.xml (84, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPWrenGABGS.xml (206, 2016-07-26)
BGSLibrary\BGSLibrary\config\DPZivkovicAGMMBGS.xml (175, 2016-07-26)
BGSLibrary\BGSLibrary\config\FrameDifferenceBGS.xml (153, 2016-07-26)
BGSLibrary\BGSLibrary\config\FuzzyChoquetIntegral.xml (330, 2016-07-26)
BGSLibrary\BGSLibrary\config\FuzzySugenoIntegral.xml (330, 2016-07-26)
BGSLibrary\BGSLibrary\config\GMG.xml (201, 2016-07-26)
BGSLibrary\BGSLibrary\config\IndependentMultimodalBGS.xml (84, 2016-07-26)
BGSLibrary\BGSLibrary\config\KDE.xml (358, 2016-07-26)
BGSLibrary\BGSLibrary\config\LBAdaptiveSOM.xml (276, 2016-07-26)
BGSLibrary\BGSLibrary\config\LBFuzzyAdaptiveSOM.xml (276, 2016-07-26)
BGSLibrary\BGSLibrary\config\LBFuzzyGaussian.xml (212, 2016-07-26)
BGSLibrary\BGSLibrary\config\LBMixtureOfGaussians.xml (211, 2016-07-26)
BGSLibrary\BGSLibrary\config\LbpMrf.xml (88, 2016-07-26)
BGSLibrary\BGSLibrary\config\LBSimpleGaussian.xml (181, 2016-07-26)
BGSLibrary\BGSLibrary\config\LOBSTERBGS.xml (354, 2016-07-26)
BGSLibrary\BGSLibrary\config\MixtureOfGaussianV1BGS.xml (193, 2016-07-26)
BGSLibrary\BGSLibrary\config\MixtureOfGaussianV2BGS.xml (193, 2016-07-26)
BGSLibrary\BGSLibrary\config\MultiCueBGS.xml (84, 2016-07-26)
BGSLibrary\BGSLibrary\config\MultiLayerBGS.xml (1722, 2016-07-26)
BGSLibrary\BGSLibrary\config\SigmaDeltaBGS.xml (157, 2016-07-26)
BGSLibrary\BGSLibrary\config\StaticFrameDifferenceBGS.xml (153, 2016-07-26)
BGSLibrary\BGSLibrary\config\SuBSENSEBGS.xml (376, 2016-07-26)
BGSLibrary\BGSLibrary\config\T2FGMM_UM.xml (240, 2016-07-26)
BGSLibrary\BGSLibrary\config\T2FGMM_UV.xml (240, 2016-07-26)
... ...
###################################################################
# #
# MAXFLOW - software for computing mincut/maxflow in a graph #
# Version 2.2 #
# http://www.cs.cornell.edu/People/vnk/software.html #
# #
# Yuri Boykov (yuri@csd.uwo.ca) #
# Vladimir Kolmogorov (vnk@cs.cornell.edu) #
# 2001 #
# #
###################################################################
1. Introduction.
This software library implements the maxflow algorithm
described in
An Experimental Comparison of Min-Cut/Max-Flow Algorithms
for Energy Minimization in Vision.
Yuri Boykov and Vladimir Kolmogorov.
In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI),
September 2004
This algorithm was developed by Yuri Boykov and Vladimir Kolmogorov
at Siemens Corporate Research. To make it available for public use,
it was later reimplemented by Vladimir Kolmogorov based on open publications.
If you use this software for research purposes, you should cite
the aforementioned paper in any resulting publication.
Tested under windows, Visual C++ 6.0 compiler and unix (SunOS 5.8
and RedHat Linux 7.0, GNU c++ compiler).
##################################################################
2. License.
Copyright 2001 Vladimir Kolmogorov (vnk@cs.cornell.edu), Yuri Boykov (yuri@csd.uwo.ca).
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##################################################################
3. Graph representation.
There are two versions of the algorithm using different
graph representations (adjacency list and forward star).
The former one uses more than twice as much memory as the
latter one but is 10-20% faster.
Memory allocation (assuming that all capacities are 'short' - 2 bytes):
| Nodes | Arcs
------------------------------------------
Adjacency list | *24 bytes | *14 bytes
Forward star | *28 bytes | 6 bytes
(* means that often it should be rounded up to be a multiple of 4
- some compilers (e.g. Visual C++) seem to round up elements
of arrays unless the are structures containing only char[].)
Note that arcs are always added in pairs - in forward and reverse directions.
Arcs between nodes and terminals (the source and the sink) are
not stored as arcs, but rather as a part of nodes.
The assumption for the forward star representation is that
the maximum number of arcs per node (except the source
and the sink) is much less than ARC_BLOCK_SIZE (1024 by default).
Both versions have the same interface.
##################################################################
4. Example usage.
This section shows how to use the library to compute
a minimum cut on the following graph:
SOURCE
/ \
1/ \2
/ 3 \
node0 -----> node1
| <----- |
| 4 |
\ /
5\ /6
\ /
SINK
///////////////////////////////////////////////////
#include
#include "graph.h"
void main()
{
Graph::node_id nodes[2];
Graph *g = new Graph();
nodes[0] = g -> add_node();
nodes[1] = g -> add_node();
g -> set_tweights(nodes[0], 1, 5);
g -> set_tweights(nodes[1], 2, 6);
g -> add_edge(nodes[0], nodes[1], 3, 4);
Graph::flowtype flow = g -> maxflow();
printf("Flow = %d\n", flow);
printf("Minimum cut:\n");
if (g->what_segment(nodes[0]) == Graph::SOURCE)
printf("node0 is in the SOURCE set\n");
else
printf("node0 is in the SINK set\n");
if (g->what_segment(nodes[1]) == Graph::SOURCE)
printf("node1 is in the SOURCE set\n");
else
printf("node1 is in the SINK set\n");
delete g;
}
///////////////////////////////////////////////////
近期下载者:
相关文件:
收藏者: