Inherits DD::Image::Iop.
Public Member Functions | |
void | _validate (bool) |
void | _request (int x, int y, int r, int t, ChannelMask, int count) |
void | engine (int y, int x, int r, ChannelMask, Row &) |
HConvolve (Node *node) | |
int | size () const |
float * | vector () const |
void | vector (int s, float *v) |
const char * | Class () const |
const char * | node_help () const |
Convolves (filters) the input image by multiplying it by a horizontal vector of weights. The vector is assumed to be normalized and should be an odd size to not shift the image.
This operator may be combined with VConvolve to produce the equivalent of a Convolve operator with a NxM rectangular matrix, as long as that matrix is the result of multiplying a 1xM matrix by a Nx1 matrix. The cache is best used if you put the HConvolve after the VConvolve.
Many useful low-pass filters can be represented this way, or approximated. This is thus used by the Blur operator. High-pass filters can also be approximated by subtracting the result of a low-pass filtering from the original picture, Sharpen uses this for that.