Go to the documentation of this file.00001 #pragma once
00002
00003 #include "std_hdr.h"
00004 #include "CeilingMap.h"
00005 #include "ImageData.h"
00006
00010 class BlockMatching
00011 {
00012 public:
00013 BlockMatching(void);
00014 ~BlockMatching(void);
00015
00016 void CreateBlockMap(const long center_x,
00017 const long center_y,
00018 const unsigned long image_width,
00019 const unsigned long image_height,
00020 const unsigned short block_size,
00021 const double Coefficient,
00022 const unsigned short Resolution,
00023 unsigned short BlackWhiteValue);
00024 void MapTracking(ImageData &CeilingMap, ImageData &CurPos);
00025 void MapTracking(CeilingMap &CeilingMap, ImageData &CurImage);
00026 int SumOfAbsoluteDifference(ImageData &src, ImageData &data, unsigned long offset_x = 0, unsigned long offset_y = 0);
00027 SignedOdometry_st Matching(CeilingMap &CeilingMap, ImageData &CurImage, int reach);
00028 void Packing(ImageData &org, ImageData &packData, double theta);
00029
00030 private:
00031 void CreateBlockTable();
00032 void DeleteBlockTable();
00033
00034 long ***m_BlockTable;
00035 unsigned short m_LatticeSize;
00036 int m_LatticeSize_Z;
00037 int m_Resolution;
00038 unsigned short m_BlackWhiteValue;
00039 };