forked from microsoft/AirSim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathseg_pallete.py
36 lines (26 loc) · 1023 Bytes
/
seg_pallete.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import numpy
import random
# requires Python 3.5.3 :: Anaconda 4.4.0
# pip install opencv-python
import cv2
import pprint
def generate_color_palette(numPixelsWide, outputFile):
random.seed(42)
palette = numpy.zeros((1, 256 * numPixelsWide, 3))
possibilities = [list(range(256)), list(range(256)), list(range(256))]
colors = [[0] * 3 for i in range(256)]
for i in range(3):
for j in range(256):
choice = random.sample(possibilities[i], 1)[0]
possibilities[i].remove(choice)
palette[0, j * numPixelsWide:(j + 1) * numPixelsWide, i] = choice
colors[j][i] = choice
cv2.imwrite(outputFile, palette, [cv2.IMWRITE_PNG_COMPRESSION,0])
rgb_file = open("rgbs.txt", "w")
for j in range(256):
rgb_file.write("%d\t%s\n" % (j, str(list(reversed(colors[j])))))
rgb_file.close()
if __name__ == '__main__':
numPixelsWide = 4
outputFile = 'seg_color_pallet.png'
generate_color_palette(numPixelsWide, outputFile)