00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef EDGLOOP_H
00021 #define EDGLOOP_H
00022
00023 #include "scrollview.h"
00024 #include "varable.h"
00025 #include "img.h"
00026 #include "pdblock.h"
00027 #include "coutln.h"
00028 #include "crakedge.h"
00029
00030 #define BUCKETSIZE 16
00031
00032
00033 extern double_VAR_H (edges_threshold_greyfraction, 0.07,
00034 "Min edge diff for grad vector");
00035 extern BOOL_VAR_H (edges_show_paths, FALSE, "Draw raw outlines");
00036 extern BOOL_VAR_H (edges_show_needles, FALSE, "Draw edge needles");
00037 extern INT_VAR_H (edges_children_per_grandchild, 10,
00038 "Importance ratio for chucking outlines");
00039 extern INT_VAR_H (edges_children_count_limit, 45,
00040 "Max holes allowed in blob");
00041 extern INT_VAR_H (edges_maxedgelength, 16000, "Max steps in any outline");
00042 extern double_VAR_H (edges_childarea, 0.5,
00043 "Max area fraction of child outline");
00044 extern double_VAR_H (edges_boxarea, 0.8,
00045 "Min area fraction of grandchild for box");
00046 DLLSYM void get_outlines(
00047 #ifndef GRAPHICS_DISABLED
00048 ScrollView* window,
00049 #endif
00050 IMAGE *image,
00051 IMAGE *t_image,
00052 ICOORD page_tr,
00053 PDBLK *block,
00054 C_OUTLINE_IT *out_it
00055 );
00056 void complete_edge(
00057 CRACKEDGE *start
00058 );
00059 ScrollView::Color check_path_legal(
00060 CRACKEDGE *start
00061 );
00062 inT16 loop_bounding_box(
00063 CRACKEDGE *&start,
00064 ICOORD &botleft,
00065 ICOORD &topright);
00066 #endif