Spec-Zone.ru › PointCloudLibrary
Реализация алгоритма максимального потока Бойкова и Коломногорова в библиотеке boost не поддерживает отрицательные потоки, что делает ее непригодной для данного контекста. Подробнее...
#include <pcl/segmentation/grabcut_segmentation.h >
реализация boost алгоритма максимального потока Бойкова и Коломногорова не поддерживает отрицательные потоки, что делает ее неприемлемой в этом контексте.
Эта реализация алгоритма максимального потока Бойкова и Коломногорова Стивена Гоулда steph.nosp@m. en.g.nosp@m. ould@.nosp@m. anu..nosp@m. edu.a.nosp@m. u в DARWIN под BSD выполняет задачу, однако медленнее, чем исходная реализация.
Определение в строке 63 файла grabcut_segmentation.h .
capacitated_edge edge_capacity_type edge_pair vertex_descriptor nodestate BoykovKolmogorov() pcl::segmentation::grabcut::BoykovKolmogorov::BoykovKolmogorov ( std::size_t
max_nodes = 0
)
создает задачу maxflow/mincut с оценкой max_nodes
~BoykovKolmogorov() virtual pcl::segmentation::grabcut::BoykovKolmogorov::~BoykovKolmogorov (
)
virtual default
addConstant() void pcl::segmentation::grabcut::BoykovKolmogorov::addConstant ( double c
)
inline
addEdge() void pcl::segmentation::grabcut::BoykovKolmogorov::addEdge ( int
u , int
v , double
cap_uv , double
cap_vu = 0.0 )
добавить ребро из u в v и ребро из v в u (требуется cap_uv + cap_vu >= 0)
addNodes() int pcl::segmentation::grabcut::BoykovKolmogorov::addNodes ( std::size_t
n = 1
)
добавить узлы в граф (возвращает идентификатор первого добавленного узла)
addSourceEdge() void pcl::segmentation::grabcut::BoykovKolmogorov::addSourceEdge ( int
u , double
cap )
добавить ребро из s в nodeId
addTargetEdge() void pcl::segmentation::grabcut::BoykovKolmogorov::addTargetEdge ( int
u , double
cap )
добавить ребро из nodeId в t
adoptOrphans() void pcl::segmentation::grabcut::BoykovKolmogorov::adoptOrphans ( std::deque< int > & orphans
)
protected
augmentPath() void pcl::segmentation::grabcut::BoykovKolmogorov::augmentPath ( const std::pair< int, int > &
path , std::deque< int > &
orphans )
protected
увеличить путь, найденный функцией expandTrees; вернуть осиротевшие поддеревья
clear() void pcl::segmentation::grabcut::BoykovKolmogorov::clear (
)
очистить граф и внутренние структуры данных
clearActive() void pcl::segmentation::grabcut::BoykovKolmogorov::clearActive (
)
protected
expandTrees() std::pair<int, int> pcl::segmentation::grabcut::BoykovKolmogorov::expandTrees (
)
protected
расширить деревья до тех пор, пока не будет найден путь (или нет пути (-1, -1))
getSourceEdgeCapacity() double pcl::segmentation::grabcut::BoykovKolmogorov::getSourceEdgeCapacity ( int u
) const
getTargetEdgeCapacity() double pcl::segmentation::grabcut::BoykovKolmogorov::getTargetEdgeCapacity ( int u
) const
initializeTrees() void pcl::segmentation::grabcut::BoykovKolmogorov::initializeTrees (
)
protected
инициализировать деревья из источника и приемника
inSinkTree() bool pcl::segmentation::grabcut::BoykovKolmogorov::inSinkTree ( int u
) const
inline
inSourceTree() bool pcl::segmentation::grabcut::BoykovKolmogorov::inSourceTree ( int u
) const
inline
isActive() bool pcl::segmentation::grabcut::BoykovKolmogorov::isActive ( int u
) const
inline protected
активен, если головной узел или предыдущий узел не являются терминалом
Определение в строке 146 файла grabcut_segmentation.h .
isActiveSetEmpty() bool pcl::segmentation::grabcut::BoykovKolmogorov::isActiveSetEmpty (
) const
inline protected
markActive() void pcl::segmentation::grabcut::BoykovKolmogorov::markActive ( int u
)
protected
пометить вершину как активную
markInactive() void pcl::segmentation::grabcut::BoykovKolmogorov::markInactive ( int u
)
protected
пометить вершину как неактивную
numNodes() std::size_t pcl::segmentation::grabcut::BoykovKolmogorov::numNodes (
) const
inline
operator()() double pcl::segmentation::grabcut::BoykovKolmogorov::operator() ( int
u , int
v )
const
возвращает остаточную пропускную способность для ребра (используйте -1 для терминала (-1,-1) - текущий поток
preAugmentPaths() void pcl::segmentation::grabcut::BoykovKolmogorov::preAugmentPaths (
)
protected
предварительно увеличивает пути s-u-t и s-u-v-t
reset() void pcl::segmentation::grabcut::BoykovKolmogorov::reset (
)
сбросить все емкости ребер на ноль (но не освобождать граф)
solve() double pcl::segmentation::grabcut::BoykovKolmogorov::solve (
)
решить задачу максимального потока и вернуть поток
cut_ std::vector<unsigned char> pcl::segmentation::grabcut::BoykovKolmogorov::cut_
protected
flow_value_ double pcl::segmentation::grabcut::BoykovKolmogorov::flow_value_
protected
nodes_ std::vector<capacitated_edge > pcl::segmentation::grabcut::BoykovKolmogorov::nodes_
protected
source_edges_ std::vector<double> pcl::segmentation::grabcut::BoykovKolmogorov::source_edges_
protected
target_edges_ std::vector<double> pcl::segmentation::grabcut::BoykovKolmogorov::target_edges_
protected
The documentation for this class was generated from the following file: