我试图进行一些形态转换而不是得到我期待的结果。
目标是扩大alpha地图并使其变灰。然而,它似乎破坏了细节,而不是扩展它们。我的扩张也垂直倾斜。
我是否误解了扩张的作用?我的代码和结果如下。
for layer in img:
rand_dilate_kernel = random.randrange(2, 8)
rand_iters = random.randrange(10, 50)
dilate_kernel = np.ones((rand_dilate_kernel, rand_dilate_kernel), np.uint8)
layer_pre_di = layer
for i in np.nditer(layer_pre_di, op_flags=['readwrite']):
if i == 0:
i[...] = 0
else:
i[...] = 255
dilation = cv2.dilate(layer_pre_di, dilate_kernel, iterations=rand_iters)
for i in np.nditer(dilation, op_flags=['readwrite']):
if i == 0:
i[...] = 0
elif i == 255:
i[...] = 127
else:
i[...] = 127
输入:
输出:
答案 0 :(得分:0)
我的问题是我的内核形状(2,2,1),但我的图层形状(1,320,320)。我解决了这个问题,重新整理了我的数组以进行转换,然后重新塑造它们。