You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.7 KiB
C
75 lines
1.7 KiB
C
|
5 years ago
|
/*! \file MultiScaleImageCompareModel.h
|
||
|
|
\brief A brief file description.
|
||
|
|
|
||
|
|
A more elaborated file description.
|
||
|
|
|
||
|
|
Created: 2017/02/24, author: bang.jin.
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef __MultiScaleImageCompareModel_h_
|
||
|
|
#define __MultiScaleImageCompareModel_h_
|
||
|
|
|
||
|
|
#include "MultiScaleObj.h"
|
||
|
|
#include <vector>
|
||
|
|
#include "ImageCompareModel.h"
|
||
|
|
|
||
|
|
using std::vector;
|
||
|
|
|
||
|
|
class MultiScaleImageCompareModel : public MultiScaleObj
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
MultiScaleImageCompareModel(int levelNum = 2, float scaleStep = 0.5)
|
||
|
|
: MultiScaleObj(levelNum, scaleStep)
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
~MultiScaleImageCompareModel()
|
||
|
|
{
|
||
|
|
clear();
|
||
|
|
}
|
||
|
|
void setBaseLevel(const ImageCompareModel* pModel);
|
||
|
|
void genMultiScale();
|
||
|
|
const ImageCompareModel* getCmpModel(int level);
|
||
|
|
void clear();
|
||
|
|
void proc(void *pData);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
vector<ImageCompareModel*> mMultiScaleModels;
|
||
|
|
|
||
|
|
private:
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
class ImageCompareData
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
ImageCompareData(MultiScaleImage* pMSI)
|
||
|
|
: mpMSI(pMSI)
|
||
|
|
, mStartAngle(0)
|
||
|
|
, mEndAngle(360)
|
||
|
|
, mAngleRange(90)
|
||
|
|
{}
|
||
|
|
MultiScaleImage* getMSI() const { return mpMSI; }
|
||
|
|
void setMSI(MultiScaleImage* val) { mpMSI = val; }
|
||
|
|
|
||
|
|
float getStartAngle() const { return mStartAngle; }
|
||
|
|
void setStartAngle(float val) { mStartAngle = val; }
|
||
|
|
float getEndAngle() const { return mEndAngle; }
|
||
|
|
void setEndAngle(float val) { mEndAngle = val; }
|
||
|
|
float getAngleRange() const { return mAngleRange; }
|
||
|
|
void setAngleRange(float val) { mAngleRange = val; }
|
||
|
|
|
||
|
|
ImageCompareModel::RotateData* getRotateData() { return &mRotateData; }
|
||
|
|
|
||
|
|
protected:
|
||
|
|
MultiScaleImage* mpMSI;
|
||
|
|
ImageCompareModel::RotateData mRotateData;
|
||
|
|
|
||
|
|
float mStartAngle, mEndAngle;
|
||
|
|
float mAngleRange;
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
#endif // __MultiScaleImageCompareModel_h_
|
||
|
|
|