mnistへの色付け

mnist への色付け

sakamoto.py


import numpy as np
import cv2
N=28    
def ccode2uint8(s):
    return [int(s[i:i+2],16) for i in [5,3,1]]
def getColorSet(cstr):
    return np.array([ccode2uint8(s) for s in cstr.split()], dtype='uint8')
def colortile(rbg):
    return np.array([[rbg for x in range(N)] for y in range(N)], dtype='uint8')
def colorizeImage(image,color):
    img=cv2.cvtColor(image,cv2.COLOR_GRAY2BGR)
    return np.minimum(img,colortile(color))

実行例


import keras
from keras.datasets import mnist
import numpy as np
import cv2
import sakamoto as s

num = 100

(x_train, y_train), (x_test, y_test) = mnist.load_data()

#white , red, blue, green ,cyan , yellow,orange, greenyellow, pink, saddlebrown
cstr='#ffffff #ff0000 #0000ff #008000 #00ffff #ffff00 #ffa500 #adff2f #ffc0cb #8b4513'
carray=s.getColorSet(cstr)

z_train=[]
for i in range(num):
    z_train.append(s.colorizeImage(x_train[i],carray[y_train[i]]))

for i in range(num):
    cv2.imshow('color',z_train[i])
    cv2.waitKey(0)

坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科