我正在寻找一种替换numpy图片中某些值的有效方法。 到目前为止,这是我得到的:
def observation(self, img):
# 45 50 184
background = np.array([45, 50, 184])
# 80 0 132
border = np.array([80, 0, 132])
img = self.crop(img)
for line_index, line in enumerate(img):
for pixel_index, pixel in enumerate(line):
if not np.array_equal(pixel, background) and not np.array_equal(pixel, border):
img[line_index][pixel_index] = [254, 254, 254]
该想法是将所有非背景或非白色的颜色替换为白色。 我对此很陌生,因此,我很确定有一种更有效的方法可以做到这一点。
谢谢。
答案 0 :(得分:2)
knn.pred <- knn(trainset[, -13], testset, cl, k = 107)
应该可以完成这项工作。您必须调用两次(一个用于背景,一个用于边框),或将两个条件numpy.where
和img != background
组合在一起:
img != border
请参见this post作为一个小示例(可能重复吗?)
希望有帮助