はじめに
Kaggleを始めるためにアカウント作成し、プロフィール設定をしようとしました。
Twitter,Qiitaのアイコンと統一しようと思い、いつもの画像をアップロードしようとすると…
中央には**Upload Image(min. 400x400)**の文字が
いつもアイコンに使っていた画像のサイズが(240x420)なので当然reject!
ただの単色画像なのですが、好きな色を検索して適当に拾った画像だったので微妙なサイズでした。
よし、せっかくだし単色画像を生成するプログラムを書こう。
色選び
こちらの原色大辞典さんを参考にして色を選びました。
例として、自分のアイコンの色であるlightcyanをクリックすると
その色について様々な数値データが掲載されたページに飛びます。
今回は、rgb色空間にて画像を生成するのでrgb(224,255,255)
を使います。
単色画像の作成
色と画像のサイズを引数にして単色画像の配列を返す関数を作りました。
create_monochromatic_img
def create_monochromatic_img(color, size):
r = color[0] * np.ones((size[1], size[0], 1), dtype=np.uint8)
g = color[1] * np.ones((size[1], size[0], 1), dtype=np.uint8)
b = color[2] * np.ones((size[1], size[0], 1), dtype=np.uint8)
return np.concatenate([r, g, b], axis=2)
色はlightcyan、サイズ400x400の画像を作成したいとき
main
# python3.6.7
# import numpy as np
# import cv2
color = [224, 255, 255] #[r,g,b]
size = [400,400] #[height,width]
img = create_monochromatic_img(color, size)
img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
cv2.imwrite('out.png', img)
上記のようにします。
出力画像
まとめ
numpy配列便利!(n回目)