00001 #ifndef LS_MISC_H
00002 #define LS_MISC_H
00003
00004 #include <iostream>
00005 #include <cmath>
00006 #include <sys/time.h>
00007
00008 #include <image/Image.hpp>
00009
00010 #include <boost/numeric/ublas/vector.hpp>
00011 #include <boost/numeric/ublas/matrix.hpp>
00012 #include <boost/numeric/ublas/io.hpp>
00013 #include <boost/numeric/ublas/lu.hpp>
00014
00015 namespace jafar{
00016 namespace lines{
00017
00018
00019
00020
00021
00022
00023
00028 bool contourPtTest(jafar::image::Image* image, int x, int y);
00029
00031 double distPointVector(CvPoint a, CvPoint b, CvPoint c);
00032
00034 double distPointVector(double ax, double ay, double bx, double by, double cx, double cy);
00035
00036
00038 double signedDistPointVector(CvPoint a, CvPoint b, CvPoint c);
00039
00041 double distPtPt(CvPoint a, CvPoint b);
00042
00044
00048 bool calcGradientImage(jafar::image::Image* image);
00049
00050
00052
00058 bool calcXYGradientImages(jafar::image::Image* image, jafar::image::Image* destX, jafar::image::Image* destY, int signedFlag);
00059
00061
00068 bool calcOrientedGradientImage(jafar::image::Image* image, jafar::image::Image* gradAbsImage, jafar::image::Image* gradOriImage);
00069
00087 double validLine(jafar::image::Image* gradX, jafar::image::Image* gradY, CvPoint p1, CvPoint p2, double minGrad=0, double lowRate=1);
00088
00090
00094 int calcIntersec(CvPoint p1, CvPoint p2, CvPoint p3, CvPoint p4, CvPoint& s);
00095
00097
00101 double startTimeMeasure();
00102
00104
00108 double stopTimeMeasure(double t1);
00109
00111
00115 double compHisto(CvHistogram* h1, CvHistogram* h2);
00116
00117
00118 }
00119 }
00120
00121
00122 #endif