微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Imagemagick 使用蒙版时可用的图像质量指标

如何解决Imagemagick 使用蒙版时可用的图像质量指标

我有一个 RGBA 图像(下图),我想计算不同的质量指标,将原始图像与失真版本进行比较。这样做时,我想忽略背景的影响,只关注对象。首先,我从原始图像中提取 Alpha 通道以创建 Alpha 蒙版并创建一个没有 Alpha 通道的图像版本。

convert man1_orig.png -alpha extract man1_mask.png
convert man1_orig.png -alpha off man1.png

然后我创建一个扭曲的版本并将 alpha 掩码传递给 -read-maskcompare 标志并计算 PSNR 和 SSIM:

magick man1.png -quality 5% distorted.jpg
compare -metric PSNR -read-mask man1_mask.png man1.png distorted.jpg diff_mask.png
// 23.9876
compare -metric SSIM -read-mask man1_mask.png man1.png distorted.jpg diff_mask.png
// 0.192216

然而,当我使用完整图像(无 alpha)重复相同的实验时,我得到了不同的 PSNR 结果,正如预期的那样,但 SSIM 产生相同的结果:

compare -metric PSNR man1.png distorted.jpg diff_full.png
// 27.7426
compare -metric SSIM man1.png distorted.jpg diff_full.png
// 0.192216

对于完整图像,我认为 PSNR 更高,因为未失真和失真图像中的背景像素非常相似,并且对结果有积极的贡献。对于 SSIM,我怀疑 -read-mask 没有效果。是否没有为 SSIM 实现此功能,或者在图像的屏蔽区域上测量 SSIM 可能没有任何意义?

An RGBA image

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。