2024-04-19 19:14:14 发布
网友
我试图找出那些特征与基线有显著不同的区域。在
为此,我从基部减去当前图像,f和{}是灰度2d图像矩阵。在
f
diff = f - b
有些操作会导致溢出,这会导致像素值较高的区域,而这些区域实际上应该设置为零。在
如果f[x][y]<;b[x][y],如何指定操作diff = f - b应为单个像素值生成0?在
f[x][y]
b[x][y]
我修正了这个问题,我自己做了一个函数,在减去每个像素之前比较它,以防止任何溢出发生。在
def custom_sub(i2,i1): x = len(i1) y = len(i1[0]) o = deepcopy(i1) for ix in range(x): for iy in range(y): if i1[ix][iy] > i2[ix][iy]: o[ix][iy] = 0 else: o[ix][iy] = i2[ix][iy]-i1[ix][iy] return o
这是输出,明亮的区域现在只在火花闪光发生的地方。在
这个question和我的很相似。在我的例子中,减法是用uint8类型执行的,这可以转换成int16。然后,可以对得到的图片进行迭代,去掉任何负数。在
在numpy中,有一种方法不需要转换为更大的整数类型:
f - b.clip(None, f)
或者,相当于
我修正了这个问题,我自己做了一个函数,在减去每个像素之前比较它,以防止任何溢出发生。在
这是输出,明亮的区域现在只在火花闪光发生的地方。在
这个question和我的很相似。在我的例子中,减法是用uint8类型执行的,这可以转换成int16。然后,可以对得到的图片进行迭代,去掉任何负数。在
在numpy中,有一种方法不需要转换为更大的整数类型:
或者,相当于
^{pr2}$相关问题 更多 >
编程相关推荐