LMDistanceImage.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #pragma once
00027 #include <opencv/cv.h>
00028 #include <opencv/cxcore.h>
00029
00030
00031 #include "plugins/SceneUnderstanding/EIEdgeImage/EIEdgeImage.h"
00032 #include "LMDirectionalIntegralDistanceImage.h"
00033
00034
00035 class LMDistanceImage {
00036 public:
00037
00038 LMDistanceImage();
00039 ~LMDistanceImage();
00040 void Configure(float directionCost,double maxCost) {directionCost_ = directionCost; maxCost_ = maxCost; };
00041
00042 void SetImage(EIEdgeImage& ei);
00043
00044
00045
00046 private:
00047
00048 void SafeRelease();
00049 void ConstructDTs(EIEdgeImage& ei);
00050 void UpdateCosts();
00051 void ConstructDIntegrals();
00052
00053
00054 private:
00055 LMDirectionalIntegralDistanceImage* idtImages_;
00056 int nDirections_;
00057 int width_;
00058 int height_;
00059 IplImage** dtImages_;
00060 float directionCost_;
00061 double maxCost_;
00062
00063
00064 friend class LMLineMatcher;
00065 };