Python 计算两个Numpy uint8数之差时出现错误结果 arr=np.load('pixels\u arr.npy') clean_arr=np.empty(0).astype(np.uint8) 清洁阵列形状=(0,3) mix_arr=np.empty(0).astype(np.uint8) 混合arr.shape=(0,3) 对于arr中的pix: 打印(pix,pix[0],pix[1],pix[2],pix[0]-pix[1],pix[0]-pix[2],((pix[0]-pix[1])
[6 5 255]的计算是错误的 6-255=7 它应该=-249,abs应该给出249,但它给出7 为什么会这样,如何使其正确工作Python 计算两个Numpy uint8数之差时出现错误结果 arr=np.load('pixels\u arr.npy') clean_arr=np.empty(0).astype(np.uint8) 清洁阵列形状=(0,3) mix_arr=np.empty(0).astype(np.uint8) 混合arr.shape=(0,3) 对于arr中的pix: 打印(pix,pix[0],pix[1],pix[2],pix[0]-pix[1],pix[0]-pix[2],((pix[0]-pix[1]),python,Python,[6 5 255]的计算是错误的 6-255=7 它应该=-249,abs应该给出249,但它给出7 为什么会这样,如何使其正确工作 arr = np.load('pixels_arr.npy') clean_arr = np.empty(0).astype(np.uint8) clean_arr.shape = (0,3) mix_arr = np.empty(0).astype(np.uint8) mix_arr.shape = (0,3) for pix in arr:
arr = np.load('pixels_arr.npy')
clean_arr = np.empty(0).astype(np.uint8)
clean_arr.shape = (0,3)
mix_arr = np.empty(0).astype(np.uint8)
mix_arr.shape = (0,3)
for pix in arr:
print(pix, pix[0],pix[1],pix[2], pix[0] - pix[1], pix[0] - pix[2], ((pix[0] - pix[1]) < 10 and (pix[0] - pix[2]) < 10))
if ((np.abs(pix[0] - pix[1]) < 10) and (np.abs(pix[0] - pix[2]) < 10) and (np.abs(pix[1] - pix[2]) < 10) ) :
mix_arr = np.append(mix_arr, [pix], axis=0)
else:
clean_arr = np.append(clean_arr, [pix], axis=0)