www.pudn.com > GPUVision_5-13-05-2.zip > HarrisCorner.cpp
#include "HarrisCorner.h"
HarrisCorner::HarrisCorner(CGcontext context, float threshold, bool shouldThin){
this->_shouldThin = shouldThin;
_harris = new HarrisFilter(threshold, context);
_localMaximum = new LocalMaximumFilter(context);
_dxdy = new DxDyFilter(context);
}
HarrisCorner::~HarrisCorner(){
delete _harris;
delete _localMaximum;
delete _dxdy;
}
void HarrisCorner::HarrisCornerDetect(GPUVision *image1) {
bool shouldBind = !image1->IsBound();
if(shouldBind) image1->Begin();
_dxdy->applyFilter(image1);
_harris->applyFilter(image1);
if(_shouldThin) {
_localMaximum->applyFilter(image1);
}
if(shouldBind) image1->End();
}