X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fgraphcut.h;h=39b96c04f7c91a19af075d3b371a9a29154450e3;hb=062138c37383ec48082037f0610b7c8da41f6d0d;hp=ca6d82a8fd5f2a15236e16988bd966fddfd5c978;hpb=818ac2906f7eb845c097ef8362a9c1f231978f44;p=swftools.git diff --git a/lib/graphcut.h b/lib/graphcut.h index ca6d82a..39b96c0 100644 --- a/lib/graphcut.h +++ b/lib/graphcut.h @@ -21,10 +21,7 @@ #ifndef __graphcut_h__ #define __graphcut_h__ -#include "image.h" - typedef signed int weight_t; -#define MAX_WEIGHT 0x07ffffff typedef struct _halfedge halfedge_t; typedef struct _node node_t; @@ -34,12 +31,14 @@ struct _halfedge { node_t*node; struct _halfedge*fwd; weight_t weight; + weight_t init_weight; char used; halfedge_t*next; }; struct _node { halfedge_t*edges; + int tmp; int nr; }; @@ -49,8 +48,9 @@ struct _graph { }; graph_t* graph_new(int num_nodes); -halfedge_t*edge_new(node_t*from, node_t*to, weight_t forward_weight, weight_t backward_weight); +halfedge_t*graph_add_edge(node_t*from, node_t*to, weight_t forward_weight, weight_t backward_weight); weight_t graph_maxflow(graph_t*graph, node_t*pos1, node_t*pos2); +int graph_find_components(graph_t*g); void graph_delete(graph_t*); #endif