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