25 lines
495 B
C
25 lines
495 B
C
|
#ifndef EDGE_GRADIENT_H
|
||
|
#define EDGE_GRADIENT_H
|
||
|
|
||
|
#include "convolution.h"
|
||
|
|
||
|
class EdgeGradient : public Convolution
|
||
|
{
|
||
|
public:
|
||
|
EdgeGradient(PNM*);
|
||
|
EdgeGradient(PNM*, ImageViewer*);
|
||
|
|
||
|
virtual PNM* transform();
|
||
|
|
||
|
PNM* verticalDetection();
|
||
|
PNM* horizontalDetection();
|
||
|
int calcValue(int i, int j, Channel channel, PNM* img_x, PNM* img_y);
|
||
|
|
||
|
protected:
|
||
|
virtual void prepareMatrices() = 0;
|
||
|
math::matrix<float> g_x,
|
||
|
g_y;
|
||
|
};
|
||
|
|
||
|
#endif // EDGE_GRADIENT_H
|