63 lines
1.8 KiB
C++
63 lines
1.8 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;
|
|
bool scanserver;
|
|
|
|
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
|
|
* @param scanServer
|
|
*/
|
|
scan_cv (string dir, unsigned int number, IOType format, bool scanServer);
|
|
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_ */
|