00001
00019 #ifndef EDGLOOP_H
00020 #define EDGLOOP_H
00021
00022 #include "grphics.h"
00023 #include "varable.h"
00024 #include "img.h"
00025 #include "pdblock.h"
00026 #include "coutln.h"
00027 #include "crakedge.h"
00028
00029 #define BUCKETSIZE 16
00030
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");
00048 DLLSYM void get_outlines(
00049 #ifndef GRAPHICS_DISABLED
00050 WINDOW window,
00051 #endif
00052 IMAGE *image,
00053 IMAGE *t_image,
00054 ICOORD page_tr,
00055 PDBLK *block,
00056 C_OUTLINE_IT *out_it
00057 );
00058 void complete_edge(
00059 CRACKEDGE *start
00060 );
00061 COLOUR check_path_legal(
00062 CRACKEDGE *start
00063 );
00064 INT16 loop_bounding_box(
00065 CRACKEDGE *&start,
00066 ICOORD &botleft,
00067 ICOORD &topright);
00068 #endif