[记录]RuntimeWarning: overflow encountered in scalar subtract
RuntimeWarning: overflow encountered in scalar subtract sum = sum + (img[i,j,k] - img[x,y,k])**2
这是CodeGeex的回答:
这个RuntimeWarning是因为在计算像素值之间的差异时,出现了溢出。这通常发生在图像的像素值非常接近,而像素值之间的差异也非常接近的情况。
解决方法:
将8位的数值强制改成16位或者更高位的数值计数方法,一般采用int,float来强制修改数据类型
sum = sum + (int(img[i,j,k]) - int(img[x,y,k]))**2