首页 > 解决方案 > 对两个 RGB 像素值求平方时的值错误(OpenCV + Python)

问题描述

我试图计算两个 rgb 图像之间的 ssd,我发现返回的值包含负值,这很奇怪,因为 ssd 在对它们求和之前对差异进行平方。所以,我剖析了这个问题,结果发现问题在于平方。

这是我的ssd功能:

def ssd(kernel_left, kernel_right):
    return np.sum((kernel_left- kernel_right)**2)

以下是我剖析问题的方法:

print(kernel_left[1,1]) # = [61 57 56]
print(kernel_right[1,1]) # = [87 59 29]
print(kernel_left[1,1] - kernel_right[1,1])  # = [-26  -2  27]
print((kernel_left[1,1] - kernel_right[1,1])**2) # = [-92   4 -39]

平方如何产生错误和负值对我来说没有任何意义。

标签: pythonpython-3.xopencvcomputer-visionjupyter-notebook

解决方案


推荐阅读