00001
00002
00003 #ifndef _HSEG_HOUGHSEGMENTSDETECTOR_H_
00004 #define _HSEG_HOUGHSEGMENTSDETECTOR_H_
00005
00006 #include <vector>
00007
00008 #include <image/Image.hpp>
00009
00010 namespace jafar {
00011 namespace hseg {
00016 struct HoughSegment {
00017 double x1, y1, x2, y2;
00018 };
00023 class HoughSegmentsDetector {
00024 public:
00025 HoughSegmentsDetector();
00026 std::vector< jafar::hseg::HoughSegment > detectSegments( const jafar::image::Image& _image ) const;
00027 public:
00029 JFR_DEFINE_PARAM_RW(double, rho, setRho);
00031 JFR_DEFINE_PARAM_RW(double, theta, setTheta);
00033 JFR_DEFINE_PARAM_RW(int, threshold, setThreshold);
00035 JFR_DEFINE_PARAM_RW(double, minimumLineLength, setMinimumLineLength);
00037 JFR_DEFINE_PARAM_RW(double, joinThreshold, setJoinThreshold);
00038 JFR_DEFINE_PARAM_RW(double, cannyThreshold1, setCannyThreshold1);
00039 JFR_DEFINE_PARAM_RW(double, cannyThreshold2, setCannyThreshold2);
00040 JFR_DEFINE_PARAM_RW(int, apertureSize, setApertureSize);
00041
00042 };
00043
00044 }
00045 }
00046
00047 #endif