Я использую numpy для инициализации массива пикселей серой шахматной доской (классическое представление «без пикселей» или прозрачное). Кажется, что должен быть потрясающий способ сделать это с помощью удивительных операций присваивания/нарезки/нарезки массивов numpy, но это лучшее, что я придумал:
Код: Выделить всё
w, h = 600, 800
sq = 15 # width of each checker-square
pix = numpy.zeros((w, h, 3), dtype=numpy.uint8)
# Make a checkerboard
row = [[(0x99,0x99,0x99),(0xAA,0xAA,0xAA)][(i//sq)%2] for i in range(w)]
pix[[i for i in range(h) if (i//sq)%2 == 0]] = row
row = [[(0xAA,0xAA,0xAA),(0x99,0x99,0x99)][(i//sq)%2] for i in range(w)]
pix[[i for i in range(h) if (i//sq)%2 == 1]] = row
Источник: https://stackoverflow.com/questions/216 ... d-in-numpy