func BoxRGBA(img *image.RGBA, kernelSize image.Point, anchor image.Point, border padding.Border) (*image.RGBA, error) {
	kernel := generateBoxKernel(&kernelSize)
	result, error := convolution.ConvolveRGBA(img, kernel.Normalize(), anchor, border)
	if error != nil {
		return nil, error
	}
	return result, nil
}
BoxRGBA applies average blur to an RGBA image. The amount of bluring effect depends on the kernel size, where
both width and height can be specified. The anchor point specifies a point inside the kernel. The pixel value
will be updated after the convolution was done for the given area.
Border types supported: see convolution package.
package blur
import (
	"errors"
	"github.com/Ernyoke/Imger/convolution"
	"github.com/Ernyoke/Imger/padding"
	"image"
	"math"
)
func BoxGray(img *image.Gray, kernelSize image.Point, anchor image.Point, border padding.Border) (*image.Gray, error) {
	kernel := generateBoxKernel(&kernelSize)
	result, error := convolution.ConvolveGray(img, kernel.Normalize(), anchor, border)
	if error != nil {
		return nil, error
	}
	return result, nil
}