Synopsis
HxImageRep HxConvKernelSeparated2d (HxImageRep img, HxImageRep kernelX, HxImageRep kernelY, ResultPrecision resPrec = DEFAULT_PREC)
Input
HxImageRep img
HxImageRep kernelX
HxImageRep kernelY
ResultPrecision resPrec
Return value
HxImageRep
Description
The function HxConvKernelSeparated2d convolves the input image with a 1 by x filter in the x-direction, after which the result of that convolution is convolved with a 1 by y filter in the y-direction. The convolution kernels can be either a scalar or vector images. If the kernels are scalar images, the input image may be a scalar or a vector image. In case of scalar kernels and a vector input image, the convolution (in each direction) is taken separately for each channel. If both kernel and image are vector images, the pixel dimension should be the same. In the latter case, each channel of the input image is convolved with the corresponding channel of the kernels. The kernels should have the same pixel dimensionality. Note that both kernels are given in a `1 by q' format.
Remarks
Examples
Convolving an image with two seperate 1d kernels.
#include "HxImageRepGlobalFuncs.h" #include "HxImageRep.h" HxImageRep HxConvKernelSeparated2dExample1(HxImageRep img) { img = HxImageAsDouble(img); HxImageRep kernelX = HxMakeGaussian1d(3.0, 0, 5.0, 10, -1); HxImageRep kernelY = HxMakeParabola1d(1.0, 5.0, 10, -1); img = HxConvKernelSeparated2d(img, kernelX, kernelY); img = HxContrastStretch(img, 255.0); img = HxImageAsByte(img); return img; } int main(int argc, char* argv[]) { HxImageRep im1 = HxMakeFromFile(argv[1]); im1 = HxConvKernelSeparated2dExample1(im1); HxWriteFile(im1, argv[2]); return 0; }
Input image for the HxConvKernelSeparated2d example.
Output image of the HxConvKernelSeparated2d example.
In this example we generate a 1d Gaussian kernel for the x-direction and a 1d parabola kernel for the y-direction. The input image in this example code is then convolved with the two generated kernels.
See also
HxGaussDerivative2d, HxConvolution, HxConvGauss2d , HxConvKernelSeparated ,
Keywords
Filter, Convolution,