Two issues:
1) compare and convert methods do not agree for metric fuzz or metric rmse, when there is transparency
2) for -metric rmse, results are not the same with and without transparency
-metric fuzz is supposed to take transparency into account. I am not sure what that means. Nevertheless I get different results from:
Code: Select all
convert ed3k2rBk7HZzJccH98x9.png qTCKVKFPImX2BcpnSV3d.png +repage -resize 256x256^! miff:- |\
compare -metric fuzz - null:
Code: Select all
convert ed3k2rBk7HZzJccH98x9.png qTCKVKFPImX2BcpnSV3d.png +repage -resize 256x256^! -metric fuzz -format %[distortion] -compare info:
Is this a bug with the latter or am I misunderstanding the difference between the two methods and/or what -metric fuzz is doing?
Does -metric fuzz compare all 4 channels RGBA separately and compute the 4 channel fuzz (rmse) value? Or is it blending with alpha?
What is -metric rmse supposed to do if alpha is present?
Note if I use metric rmse, then I still get different results
Code: Select all
convert ed3k2rBk7HZzJccHmX2BcpnSV3d.png +repage -resize 256x256^! miff:- |\
> compare -metric rmse - null:
Code: Select all
convert ed3k2rBk7HZzJccH98x9.png qTCKVKFPImX2BcpnSV3d.png +repage -resize 256x256^! -metric rmse -format %[distortion] -compare info:
The latter using -metric rmse gives the same answer as the second -metric fuzz. So it seems that -metric fuzz is not taking into account the alpha channel, if it is supposed to and if -metric rmse is not supposed to.
If I turn alpha off on -metric rmse, then I get
Code: Select all
convert ed3k2rBk7HZzJccH98x9.png qTCKVKFPImX2BcpnSV3d.png +repage -alpha off -resize 256x256^! miff:- |\
compare -metric rmse - null:
Code: Select all
convert ed3k2rBk7HZzJccH98x9.png qTCKVKFPImX2BcpnSV3d.png +repage -alpha off -resize 256x256^! -metric rmse -format %[distortion] -compare info:
These two values agree, but do not agree with when alpha is on. So what is the alpha channel doing with -metric rmse, if it is not supposed to take transparency into account?