www.pudn.com > segmentaion.rar > WaterSeg.h
#include#include #include #include #include #include #include #include #include #include using namespace std; typedef struct Node { int pixelSize; deque pixelIndex; unsigned char meanColor[3]; int curveLength; float meanCurvature; deque curvature; deque bdyIndex; } Node; typedef struct Link { int nod1; int nod2; float dissimilarity; float meanCurvatureOfMerge; int curveLengthOfMerge; } Link; int WaterSeg(unsigned char**,unsigned char**, int,int,int,int, int,int*); int Watershed(int **, char **, int **, int , int ); void getGradient(unsigned char* , unsigned char* , int , int ); void LabelToRgb(int*, int, char*, int, int); void getMarker(unsigned char* , unsigned char* , unsigned char* , int , int , int ); void imErode(unsigned char* , unsigned char* , int , int , vector * ,vector * ); void imDilate(unsigned char* , unsigned char* , int , int , vector * ,vector * ); void getRegMax(unsigned char* ,unsigned char*, int, int); void getNeighbor(int, int, int, int*); void getNeighborReorder(int, int, int, int*); void getFourNeighbor(int, int, int, int*); void getTrailingNeighbor(int, int, int, int*); void getLeadingNeighbor(int, int, int, int*); void imReconstruct(unsigned char*, unsigned char*, int, int); void getBoundary(int*, unsigned char*,int ,int); int LabelFusion(int**, int, int, int* ); int regionMerge(int* ,int , int , int , unsigned char**,int,int); int labelOfNeighbor(int* ,Node* , int , int, int*); int minIndex(int*, int ); int minDissimilarIndex(Link* , int ); void mergeTwoRegions(Link*, Node*, int*); void mergeTwoRegions(Link* ,Node* ,int* ,int , int , int , int* ); void getNodCurv(Node* ,int*,int,int, int*); void getNodCurv(Node* , Node* , int* ,int ,int , float* , int* ); bool checkOutsideBoundary(int,int, int* , int, int); bool checkInsideBoundary(int,int, int* , int, int); void getDissimilarity(Link*, Node*, int* , int*,int, int,int); void getCurvature(int* ,int*, int, deque *); void getDCurvature(int* , int* , int , deque * ); double autoThreshold(double*, int); int getOptResult(double*,double*,int);