在QT C ++中计算像素距离

时间:2013-01-21 06:28:10

标签: c# c++

我正在编写一个应用程序,为了比较2个相同尺寸的图像,我需要比较距离。例如,如果两个图像相同,那么这两个图像之间的距离将为零。如果两个图像完全不同,它们之间的距离会非常大。该项目涉及拍摄样本图像并将其作为基础,并在后续图像中发现颜色或渐变的任何变形。

1 个答案:

答案 0 :(得分:0)

很难定义图像之间的距离,这与人脑识别为“近距离”图像的距离相似。特别是图像的失真不容易被捕获。但是,如果您只查看颜色和渐变的逐点失真,则可以将图像A和B之间的距离定义为:

d(A,B) = sqrt ( sum ( A(i,j)-B(i,j) )^2 )

其中A(i,j)是在图像A中坐标i,j处具有像素颜色的RGB分量的3D矢量。