00001 #ifndef __EdgeImage_H__ 00002 #define __EdgeImage_H__ 00003 00004 #include "Rasterizable.h" 00005 #include "Line.h" 00006 #include "Rectangle.h" 00007 00008 namespace EdgeDetection 00009 { 00010 // Represents the image of a two-dimensional edge. 00011 class EdgeImage : public Rasterizable 00012 { 00013 private: Line line; 00014 private: Rectangle region; 00015 00016 public: Line GetLine() { return line; } 00017 public: Rectangle GetRegion() { return region; } 00018 00019 public: EdgeImage(Line line, Rectangle region) 00020 { 00021 this->line = line; 00022 this->region = region; 00023 } 00024 public: ~EdgeImage() { } 00025 00026 public: bool CanCalculateIntegral(Rectangle rectangle); 00027 public: double CalculateIntegral(Rectangle rectangle); 00028 public: double EstimateIntegral(Rectangle rectangle); 00029 }; 00030 }; 00031 00032 #endif