比较两幅图像
问题描述:
我有一个二值化的图像,我添加了噪音,然后尝试用otsu和niblack等各种阈值算法滤除噪音。我可以如何将结果图像与原始图像进行比较以便找到两者之间存在的百分比误差?比较两幅图像
原始图像是这样的:
而得到的图像:
我需要一种方法来找到百分比误差存在。
注意:原始图像和合成图像大小相同。
答
我需要一种方法来查找出现的百分比错误。
你可以通过多种不同的方式找到百分比错误,你会得到多个不同的答案。不同的措施强调相似性的不同方面。没有单一的“正确”方法。
的image similarity一些常见的措施包括:
一般最简单的方法,例如平均平方差,不同意非常好,人类的看法。你的出发点是不错的:如果图像尺寸完全相同,并且是二进制的,那么你已经排除了比较图像(方向,缩放,亮度/对比度变化)的几个基本挑战。
答
使用中最简单的误差测量是RMSE,MAE,(P)SNR。
- RMSE - 均方根误差。
sqrt(mean((I1(:) - I2(:))^2))
- MAE - 最大绝对误差。
max(abs(I1(:) - I2(:)))
- PSNR - 峰值信噪比:
10*log10(1/mean((I1(:) - I2(:)).^2));
查找有关他们在文学的更多信息!
是否需要将图像转换为任何特定的类,例如double或uint8才能使用上述语句?我试图执行它们时出现错误。 – NeedHelp 2012-04-03 21:05:34
显然有一些浮点数涉及,所以你应该让它们成为双精度。我没有测试代码,我只是把它写下来。我刚刚发现了一个支架失衡。 – ypnos 2012-04-04 10:20:48