3dpcp/include/slam6d/fbr/scan_cv.h
2012-09-16 14:33:11 +02:00

60 lines
1.6 KiB
C++

/**
* @file scan_cv.h
* @brief load 3D Scans in opencv format for featuer based registration.
* This class is an 3D scan container for scans that have different scan file formats
* and add them to a OpenCV Mat data type also normalize the reflectance.
* @author HamidReza Houshiar. Jacobs University Bremen gGmbH, Germany.
* @date Date: 2012/05/9 2:00
*/
#ifndef SCAN_CV_H_
#define SCAN_CV_H_
#include "fbr_global.h"
#include "slam6d/scan.h"
#include "slam6d/managedScan.h"
namespace fbr{
/**
* @class scan_cv
* @brief class for 3D scans in open CV Mat data type
* @param sDir name and dir of the input scan file
* @param scan Mat data type which contains the 3D Scan
* @param sNumber input scan number
* @param nPoints Number of points
* @param zmax max value in z direction
* @param zmin min value in z direction
* @param sFormat input scan file format in IOType
*/
class scan_cv{
string sDir;
cv::Mat scan;
unsigned int sNumber;
unsigned int nPoints;
double zMax;
double zMin;
IOType sFormat;
public:
/**
* constructor of class scan_cv
* @param dir directory of the input scan file
* @param number input scan number
* @param format input scan file format
*/
scan_cv (string dir, unsigned int number, IOType format);
/**
* @brief read scan file and convert it to open cv Mat
*/
void convertScanToMat();
string getScanDir();
unsigned int getScanNumber();
unsigned int getNumberOfPoints();
double getZMin();
double getZMax();
IOType getScanFormat();
cv::Mat getMatScan();
void getDescription();
};
}
#endif /* SCAN_CV_H_ */