理想情况下使用 Numpy 和 PIL,我想为我正在制作的图像分割程序制作一个颜色网格。并非所有颜色都必须是唯一的,但是,每种颜色都应该与其相邻颜色不同并且可以识别其位置。这个想法是创建一个叠加层,可以快速识别每个像素的 x,y 位置坐标。图像为 250x250。
问问题
107 次
1 回答
1
好吧,我搞砸了,想出了这样的事情:
import PIL.Image
def zoom(img, zoom):
w, h = img.size
print(w,h)
zoom2 = zoom * 2
return img.resize((w*zoom, h*zoom), PIL.Image.NEAREST)
green = 0
red = 0
blue = 0
img = np.zeros([10,10,3], dtype=np.uint8)
for i in range(10):
green += 52
blue += 45
green %= 256
blue %= 256
img[i,:,1:] = [blue,green]
blue = 0
for j in range(10):
red += 47
blue += 48
red %= 256
blue %= 256
img[:,j,0] = red
img[:,j,2] = blue
grid = np.tile( img, [5, 5, 1])
grid = grid.astype(np.uint8)
zoom(PIL.Image.fromarray(grid), 8)
导致这张图片:
这只会生成一个 50x50 的网格,但在较大的图像上很难看到网格。我可能会尝试以另一种方式执行我的分段程序。这样做的一个好处是,您可以通过注释掉设置 x 颜色值的代码或设置 y 颜色值的代码来“调试”一半颜色。
于 2020-09-16T08:19:36.627 回答