00001 /*************************************************************************** 00002 HEADER FILES 00003 ***************************************************************************/ 00004 00005 #include <math.h> 00006 #include <string.h> 00007 #include <iostream> 00008 #include "DLImage.h" 00009 #include "DLLogger.h" 00010 #include "DLComponent.h" 00011 #include "getLines.h" 00012 00013 00014 using namespace std; 00015 00016 /*************************************************************************** 00017 MACROS 00018 ***************************************************************************/ 00019 00020 /*************************************************************************** 00021 STRUCTURES 00022 ***************************************************************************/ 00023 00024 const static float MAXDISTBETWEENCOMP = 100.0; 00025 const static short int MINLINKS = 15; 00026 const static short int MINCOMP = 20; 00027 00028 const static short int DL_NOT_ENOUGH_LINKS = -1; 00029 const static short int DL_NO_DECISION = -2; 00030 00031 /*************************************************************************** 00032 CLASS 00033 ***************************************************************************/ 00034 00075 class DLLineOrientationCalculation { 00076 00077 /************************************************************************* 00078 METHODS 00079 *************************************************************************/ 00080 00081 public: 00085 DLLineOrientationCalculation(); 00086 00088 virtual ~DLLineOrientationCalculation(); 00089 00090 /*********************************************************************** 00091 GET METHODS 00092 ***********************************************************************/ 00093 00105 static int dlCalculateLineOrientation(const DLImage &in, float fPercentDiff = 5.0); 00106 00107 /*********************************************************************** 00108 SET METHODS 00109 ***********************************************************************/ 00110 00111 private: 00112 static void dlPutOnList(const vector<DLComponent> &CC, vector<DLnodes> &N, int i, int j, float SLOPE = .5); 00113 00114 00115 /*********************************************************************** 00116 VARIABLES 00117 ***********************************************************************/ 00118 00119 }; 00120 00121 00122 /*************************************************************************** 00123 SUBROUTINES 00124 ***************************************************************************/ 00125 00126 /***************************************************************************/