- 轉載本文請注明詳細地址
- 本文介紹了像素點相加減溢出的原因與解決方法
目錄
原因:
解決方法:
原因:
這個問題一般是會出現在圖像處理像素的加減中,出現的原因是因為圖片的像素一般是八位即最大值是256,最小值是0,如果超出了這個范圍就會出現警告,不會報錯使得程序停止下來,但是會使得計算出來的結果有誤。
#假設一個圖片像素點的灰度值為136,另一個像素點的灰度值為180,兩個灰度值相加出現的結果按道理來說是:316
但是得出來的結果是:60,出現這種情況的原因就是因為316溢出了0-256的范圍,導致其重新從0開始計數
即316-256 = 60
解決方法:
解決方法其實很簡單,將8位的數值強制改成16位或者更高位的數值計數方法,一般用int或者float來強制修改數據類型即可
t2max = np.max(t2)t2min = np.min(t2)t2_ = (int(t2max) + int(t2min)) / 2
?