Я получаю эту ошибку в своем коде может ли кто нибудь помочь
Предупреждение (из модуля предупреждения):
File "D:\Python\programs\IMG PRO\im3.py", line 8 avgNum = reduce(lambda x, y: x + y, eachPix[:3])/3 RuntimeWarning: overflow encountered in ubyte_scalars
Предупреждение (из модуля предупреждения):
File "D:\Python\programs\IMG PRO\im3.py", line 16 if reduce(lambda x, y: x + y, eachPix[:3]) / len(eachPix[:3]) > balance: RuntimeWarning: overflow encountered in ubyte_scalars
Что я уже пробовал:
from PIL import Image import numpy as np import matplotlib.pyplot as plt def bal(imageArray): balanceAr = [] for eachRow in imageArray: for eachPix in eachRow: avgNum = reduce(lambda x, y: x + y, eachPix[:3])/3 balanceAr.append(avgNum) balance = sum(balanceAr[0:len(balanceAr)]) / len(balanceAr) return balance def threshold(imageArray,balance): newAr = imageArray for eachRow in newAr: for eachPix in eachRow: if (reduce(lambda x, y: x + y, eachPix[:3]) / 3) > balance: eachPix[0] = 255 eachPix[1] = 255 eachPix[2] = 255 eachPix[3] = 255 else: eachPix[0] = 0 eachPix[1] = 0 eachPix[2] = 0 eachPix[3] = 255 return newAr i=0 newa=list() while i<3: i=i+1 na=raw_input("enter image name") i=Image.open(na) iar = np.array(i) b=bal(iar) iar = threshold(iar,b) newa.append(iar)
Suvendu Shekhar Giri
есть успехи с отладкой?
Richard MacCutchan
Вам нужно посмотреть на значения всех переменных в выражении, которое дает ошибку.