00001
00002
00003 #include "camera/cameraBarreto.hpp"
00004
00005 namespace jafar {
00006 namespace locpano{
00007
00008 extern void BigCircle ( Parabolic *DescPara, short *SourceData, int Sdi, int Sdj );
00009 extern long CalcNoElem ( int *Histogr, int a, int b );
00010 extern void CalcRotation ( double *alpha, double *beta, double *gamma, double *Rot );
00011 extern int CalculeSeuils ( int *Histogr, int PosInic, int PosFin, int *Seuils, int *NoS, int option );
00012 extern int CompareInt ( const void *i, const void *j );
00013 extern void CopyPanora1 ( unsigned char *SourceData, short *RetData, Point_ij *SizeS, Point_ij *SizeR, Parabolic *DescPara );
00014 extern void CopyPanora2 ( short *SourceData, short *RetData, Point_ij *SizeS, Point_ij *SizeR, Parabolic *DescPara );
00015 extern void CopyPanora4 ( float *SourceData, float *RetData, Point_ij *SizeS, Point_ij *SizeR, Parabolic *DescPara );
00016 extern Parabolic* copyParabolic ( Parabolic* data );
00017 extern Parabolic* createParabolic ( jafar::camera::CameraParabolicBarreto const& camera );
00018 extern float CriteryKittler ( float Pi1, float Pi2, float Sig1, float Sig2 );
00019 extern float CriteryOtsu ( float Pi1, float Pi2, float mu1, float muT );
00020 extern float CriteryPal ( float Pi1, float Pi2, float mu1, float mu2, float muT );
00021 extern void CylindricalMapTetaPhi ( Parabolic *Ring, short *iData, short *jData, float *diData, float *djData, Point_ij *Size );
00022 extern void CylindricalMapZpPhi ( Parabolic *Ring, int *RadiusCil, short *iData, short *jData, float *diData, float *djData, Point_ij *Size );
00023 extern int DecodeSeuils ( int *Histogr, int *Seuils, int NoSeuil );
00024 extern void DescriptionPano2 ( short *SourceData, short *WorkData, Parabolic *DescPara, int Sdi, int Sdj );
00025 extern void destroyParabolic ( Parabolic* data );
00026 extern void EmpiricalMap ( Parabolic *Ring, short *iData, short *jData, float *diData, float *djData, Point_ij *Size );
00027 extern float FindThreshold ( short *SourceData, int Sdi, int Sdj, Rectangle *Rect );
00028 extern void HistEqualizePano ( short *InImage, short *TempImage, int DimX, int DimY, int InGrayLevels, int OutGrayLevels );
00029 extern int histogram ( short *image, int *Histogr, int di, int dj, Rectangle *Rec );
00030 extern int histogramVar ( int *Histogr, int *HistogrVar, int PAS );
00031 extern void infoParabolic ( Parabolic* data );
00032 extern float Moments ( float *Proba, float mean, int Grade, int a, int b );
00033 extern float Moyenne ( float *Proba, int a, int b );
00034 extern int mycluster ( short *image_in, int di, int dj, int *Seuils, int Type, Rectangle *Rect );
00035 extern void PlaneMap ( Parabolic *Ring, short *iData, short *jData, float *diData, float *djData, Point_ij *Size, double Resolution, double PlaneDistan, double Teta, double Phi, double Beta );
00036 extern float ProbAcum ( float *Proba, int a, int b );
00037 extern int ReduceInterval ( int *HistoVar, int PosInic, int PosFin, float Percent, int *a, int *b );
00038 extern int ReduceMin ( int *Histogr, int *minima, int No );
00039 extern Parabolic* SetRing ( Parabolic *DescPara, int RingInit, int RingEnd, int Type );
00040 extern int SetSizeX ( Parabolic* Ring, int RadiusCil, double Resolution, int Type );
00041 extern void SmallCircle ( Parabolic *DescPara, short *SourceData, int Sdi, int Sdj );
00042 extern int VectorMax ( int *x, int PosInic, int PosFin );
00043 extern long VectorProba ( int *Histogr, float *Proba, int a, int b );
00044 extern int VectorSeuils ( int *Histogr, int *Seuils, int option );
00045
00046 }
00047 }