我目前正在使用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翻译?必须有某种公式?
答案 0 :(得分:0)
此问题已在vips问题跟踪器中讨论过:
https://github.com/jcupitt/libvips/issues/393
但简单地说:
radius
与IM中的sigma
相同。 vips根据sigma设置为您选择一个半径。x1
对应threshold
,但缩放比例不同。 vip one是在L *差分图像上计算的,我猜IM的范围是0-1,所以(可能是?)将IM值乘以100。y2
和y3
似乎没有IM等价物。它们在打印时很有用,可以限制你在边缘上出现的晕圈量,我不知道它们对于屏幕输出有多大用处。默认值可能是合理的,但您可以尝试将其关闭。 m1
(我认为)在IM中总是为零,你可以尝试将其设为一个较小的值,它可以使平坦区域到边缘区域的过渡不那么刺耳。m2
相当于amount
,但缩放可能不同。 还有一些其他差异。 Vips只在CIELAB的L *上运行,也就是说,它只是对亮度通道的锐化,并且它在感知上是均匀的。 vips one真的是专为胶印工作而设计的,因此目前很难对屏幕进行更温和的调整。现在有一些补丁可以使vips_sharpen()
更适合显示输出。
总结:可能没有完美的参数匹配,因为底层运算符相当不同。