- RuntimeWarning: overflow encountered in ubyte_scalars
问题分析:ubyte_scalars出现溢出,定位到具体的代码:
val = img[y1_, x1_] - img[y2_, x2_]
这段代码的目的是为了计算两个像素的差值,img是numpy的ndarray类型,二维数组中的每个数值类型是uint8,因此两个uint8类型的数相减,得到的仍是一个uint8,如果被减数小于减数,val的结果也并不会得到负数,而是1,同时输出这样一个warning。
解决方法:解决的方法是将uint8转为int,再相减。val = int(img[y1_, x1_]) - int(img[y2_, x2_])
时间: 2024-10-09 23:07:07