00001 #ifndef _DLSKELETON_H_
00002 #define _DLSKELETON_H_
00003
00004 #include "DLImage.h"
00005
00006
00007
00023 class DLSkeleton
00024 {
00025 private:
00026 static int _rows;
00027 static int _cols;
00028 static unsigned char *_data;
00029 static int _bufRows;
00030 static int _bufCols;
00031 static unsigned char *_bufferData;
00032
00033
00034 public:
00039 DLSkeleton();
00040
00044 DLSkeleton(const DLSkeleton & orig);
00045
00050 const DLSkeleton & operator=(const DLSkeleton & right);
00051
00055 virtual ~DLSkeleton();
00067 static DLImage dlExtractSkeletonRutovitz(const DLImage & imageData);
00068
00069 private:
00070 static unsigned char * dlSkeletonizeRutovitz( int pixel );
00071
00072
00073 static int dlSkelRutovitz( int passNo );
00074 static void dlGetNeighbors(int row, int col, int p[], int &neighborCnt,
00075 int &patterns);
00076
00077
00078 };
00079
00080 #endif //_DLSKELETON_H_