如何将 ImageMagick 的 unsharpMask 设置转换为 VIPS 的 vips_sharpen() 设置
How to translate ImageMagick's unsharpMask settings to VIPS's vips_sharpen() settings
我目前正在使用 ImageMagick 调整图像大小和锐化图像。由于性能原因,我现在转向 VIPS。
我使用 imageMagick 的 unsharpMask (http://php.net/manual/en/imagick.unsharpmaskimage.php) 功能在调整照片大小后锐化照片。我目前正在使用以下设置:
Radius: 0
Sigma: .5
Amount: .25
threshold: .008
vips_sharpen (http://www.vips.ecs.soton.ac.uk/supported/7.42/doc/html/libvips/libvips-convolution.html#vips-sharpen) 有许多附加参数,我正在尝试复制相同的锐化结果。
有谁知道计算 imagemagick 反锐化蒙版设置的 VIPS 转换的简单方法?一定有什么公式?
此问题已在 vips 问题跟踪器上讨论过:
https://github.com/jcupitt/libvips/issues/393
但简而言之:
radius
等同于IM中的sigma
。 vips 会根据 sigma 设置为您选择一个半径。
x1
对应于 threshold
,尽管缩放比例不同。 vips 一个是在L* 差值图像上计算的,我猜IM 一个在0 - 1 范围内,所以(可能?)将IM 值乘以100.
y2
和 y3
似乎没有 IM 等价物。它们在打印时很有用,可以限制边缘的光晕量,我不知道它们对屏幕输出有多大用处。默认值可能是合理的,但您可以尝试调低它们。
m1
(我认为)在 IM 中始终为零,您可以尝试将其设置为较小的值,它可以使从平坦区域到边缘区域的过渡不那么刺耳。
我认为 m2
等同于 amount
,尽管缩放比例可能不同。
还有一些其他的区别。 vips one只是在CIELAB的L*上操作,也就是只是对亮度通道进行了锐化,感知上是均匀的。 vips one 确实是为胶版印刷工作而设计的,因此目前很难对屏幕进行所需的更温和的调整。现在有一些补丁正在进行中,应该会使 vips_sharpen()
更适合显示输出。
总结:可能没有完美的参数匹配,因为底层运算符非常不同。
我目前正在使用 ImageMagick 调整图像大小和锐化图像。由于性能原因,我现在转向 VIPS。
我使用 imageMagick 的 unsharpMask (http://php.net/manual/en/imagick.unsharpmaskimage.php) 功能在调整照片大小后锐化照片。我目前正在使用以下设置:
Radius: 0
Sigma: .5
Amount: .25
threshold: .008
vips_sharpen (http://www.vips.ecs.soton.ac.uk/supported/7.42/doc/html/libvips/libvips-convolution.html#vips-sharpen) 有许多附加参数,我正在尝试复制相同的锐化结果。
有谁知道计算 imagemagick 反锐化蒙版设置的 VIPS 转换的简单方法?一定有什么公式?
此问题已在 vips 问题跟踪器上讨论过:
https://github.com/jcupitt/libvips/issues/393
但简而言之:
radius
等同于IM中的sigma
。 vips 会根据 sigma 设置为您选择一个半径。x1
对应于threshold
,尽管缩放比例不同。 vips 一个是在L* 差值图像上计算的,我猜IM 一个在0 - 1 范围内,所以(可能?)将IM 值乘以100.y2
和y3
似乎没有 IM 等价物。它们在打印时很有用,可以限制边缘的光晕量,我不知道它们对屏幕输出有多大用处。默认值可能是合理的,但您可以尝试调低它们。m1
(我认为)在 IM 中始终为零,您可以尝试将其设置为较小的值,它可以使从平坦区域到边缘区域的过渡不那么刺耳。
我认为 m2
等同于amount
,尽管缩放比例可能不同。
还有一些其他的区别。 vips one只是在CIELAB的L*上操作,也就是只是对亮度通道进行了锐化,感知上是均匀的。 vips one 确实是为胶版印刷工作而设计的,因此目前很难对屏幕进行所需的更温和的调整。现在有一些补丁正在进行中,应该会使 vips_sharpen()
更适合显示输出。
总结:可能没有完美的参数匹配,因为底层运算符非常不同。