📅  最后修改于: 2023-12-03 14:45:21.165000             🧑  作者: Mango
unsharpMaskImage()
函数是在图像处理中常用的一种锐化技术,目的在于增强图像的细节和清晰度,使图片更加吸引人眼球,通常用于照片后期处理中。具体实现方法是通过增强图像的高频部分,来凸显图像中的细节。
unsharpMaskImage()
函数包含以下参数:
unsharpMaskImage ( \MagickPixel $radius , float $sigma , float $amount , float $threshold )
$radius
: 卷积核的半径,可以理解成是像素相互作用的距离,取值为正整数。$sigma
: 高斯核的标准差,确定高斯函数的宽度,取值为正整数。$amount
: 锐化的程度,取值为 0 - 1 之间的浮点数。$threshold
: 唯一的黑白点阈值,大于此阈值就进行锐化,否则不锐化。// 创建一个图片处理对象
$image = new \Imagick('image.png');
// 调用 unsharpMaskImage 函数
$image->unsharpMaskImage( 0, 1, 0.5, 0.05 );
// 输出处理后的图像
header('Content-Type: image/png');
echo $image;
锐化的核心就是图像中高频部分的增强,因此在进行 unsharpMask 的操作前,需要先识别出图像的高频信息,然后针对高频信息进行判断和增强。
高频信息的提取主要是通过差分来实现的,即用原图减去平滑后的图像,得到的差值就是高频信息。然后在对高频信息进行锐化的操作。
锐化的操作可以看作是增加一些高频信息的过程,通常来说就是通过卷积核,将某些像素点的值加上或减去一些权重,用一个权重之和来表示最终的像素值,从而实现图像的锐化。