#!python # -*- coding: utf-8 -*- import sys import PIL.Image def main(): org_img_file_path = sys.argv[1] img = PIL.Image.open(org_img_file_path) pixels = img.load() w, h = img.size conv_colors = { ( 0, 0, 0,255):(255,255,255,255),#黒 背景 (255,255,255,255):( 50, 50, 50,255),#白 壁 (255, 60,128,255):(150,150,150,255),#赤 開口 (192,192,224,255):(245,245,245,255),#灰色 クローゼット (255,224,128,255):(245,245,245,255),#黄色 寝室 (192,255,255,255):(245,245,245,255),#水色 浴室 (255,160, 96,255):(245,245,245,255),#オレンジ 廊下 (224,255,192,255):(245,245,245,255),#緑 LDK } for x in range(w): for y in range(h): #print( pixels[x, y] ) if pixels[x, y] in conv_colors.keys(): pixels[x, y] = conv_colors[ pixels[x, y] ] img.save("new_image.bmp") if __name__ == '__main__': main()
上記を実行すると、先程のentryにあるカラフルな間取り図を以下のように グレースケール?化できます。