/* sharpen and image via 2D convolution */
imsharpen(im, f)
{
if (argc < 2)
{
if (argc < 1) error("imsharpen - input image required");
/* default kernel */
f = imsharpen_kernel(deltax(im), deltay(im));
}
/* 2D convolution - handles RGB components */
im = imconv(im, f, "same");
return(im);
}
/* default sharpen kernel */
imsharpen_kernel(dx, dy)
{
local k;
k = {{-1, -4, -1},
{-4, 26, -4},
{-1, -4, -1}};
k.deltax = dx;
k.deltay = dy;
return(k / 6);
}