www.pudn.com > GPUVision_5-13-05-2.zip > Canny.h
#ifndef _CANNY_H
#define _CANNY_H
#include "stdafx.h"
#include "GPUVision.h"
#include "ConvolutionFilter.h"
#include "ConvolutionFilter2Pack.h"
#include "RGB2GreyFilter.h"
#include "DxDyFilter.h"
#include "NonMaxSupressionFilter.h"
#include "RGB2PackedUVFilter.h"
#include "Unpack2ChannelsFilter.h"
#include "DxDy2PackFilter.h"
#include "Pack2Filter.h"
class Canny {
public: // interface
Canny(CGcontext context, float threshold, bool shouldBlur = true, bool shouldPack = true);
~Canny();
void cannyEdgeDetect(GPUVision *image1);
void setThreshold(float threshold) { _nonMaxSupression->setThreshold(threshold); }
void setShouldBlur(bool shouldBlur) { _shouldBlur = shouldBlur; }
void setPack(bool shouldPack) { _shouldPack = shouldPack; }
private:
bool _shouldBlur, _shouldPack;
ConvolutionFilter *_gauss5x5h;
ConvolutionFilter *_gauss5x5v;
ConvolutionFilter2Pack *_gauss5x5_2pack;
ConvolutionFilter *_gauss3x3;
Unpack2ChannelsFilter *_unpack2ChannelsFilter;
RGB2PackedUVFilter *_rgb2PackedUVFilter;
// ConvolutionFilter *_dx;
// ConvolutionFilter *_dy;
RGB2GreyFilter *_rgb2grey;
DxDyFilter *_dxdy;
DxDy2PackFilter *_dxdy_2pack;
NonMaxSupressionFilter * _nonMaxSupression;
Pack2Filter *_pack2Filter;
};
#endif