[記錄]RuntimeWarning: overflow encountered in scalar subtract

叶珲發表於2024-06-05

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

相關文章