[画像処理]　うる星やつらに登場するラムちゃんの髪色のRGBを求めた

# はじめに
　こんにちは，Umamusume22です．記事の投稿をしばらくサボっていました．すみません．最近，私はリメイク版のうる星やつらをDMMで観ています．主人公のラムちゃんがとにかく可愛いです．私の好きなキャラクターです．ネットサーフィン中に偶然発見したのですがラムちゃんの髪色は構造色らしいです[1]．つまり，ラムちゃんの髪色は光の当たり具合によって変化するそうです．しかし，昭和時代のラムちゃんの髪色はアニメ制作側の事情により緑色という設定でした[2]．
 　そこで，今回は画像処理のライブラリで有名なopencvを用いてラムちゃんの髪色のRGBを求めます．昭和版と現代版のラムちゃんの髪の色のRGBをそれぞれ求めます．なお，本記事ではアニメ版のラムちゃんのみを検証することにします．

# 使用したラムちゃんの画像
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/bfb8eae5-6270-697b-b462-32226d3216bc.jpeg" width ="100%">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;図１　昭和版のラムちゃんの画像
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;出典： "MUUSEO My Museum"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;https://muuseo.com/gotoondesu/items/1 

　図１は昭和版のラムちゃんです．昭和時代に放送されたラムちゃんの画像です．<br><br>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/ffc4ec33-2af7-ca22-fe50-342aed5f4243.jpeg" width ="100%">

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;図２　現代版のラムちゃんの画像　
出典：   夜歌（ヨウタ)[@Snowdrop1024],(2022年11月12日)令和拉姆的結構色髮色設定重現得好美喔🥺
ラムちゃん髪色の構造色の再現があまりにも素敵すぎて😭」
[ツイート]    https://x.com/Snowdrop1024/status/1591430058799169536

　図２は複数のラムちゃんが写っている現代版のラムちゃんです．確かに日時や場所によってラムちゃんの髪の色が変更しています．



# ラムちゃんの画像(昭和版と現代版)を編集

### ラムちゃんの髪の画像を120 x 30(幅 x 高さ)で切り取り
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/aa061363-a717-44ac-e171-f855e2b2a63d.png" width =100%">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;図３　図１の画像を120x30で切り取り

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/59e40afa-9ab3-0bc2-9126-badf80065c3c.png" width ="100%">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;図４　図2の画像を120x30で切り取り


　図2の画像を図4のように切り取りました．図２と図４の画像を使ってラムちゃんの髪の色のRGBを求めます．



# ソースコード
``` RGB.py
#モジュールインポート
import cv2  
import numpy as np  
import math

#画像読み込み
nasu1 = cv2.imread('ここに昭和版のラムちゃんの画像のパスを入力してください') 
nasu2 = cv2.imread('ここに現代版のラムちゃんの画像のパスを入力してください') 

#画像の高さと幅を取得
hight = nasu1.shape[0]
width = nasu2.shape[1]

# RGB平均値を出力
# flattenで一次元化しmeanで平均を取得 
b1 = nasu1.T[0].flatten().mean()
g1 = nasu1.T[1].flatten().mean()
r1 = nasu1.T[2].flatten().mean()

b2 = nasu2.T[0].flatten().mean()
g2 = nasu2.T[1].flatten().mean()
r2 = nasu2.T[2].flatten().mean()

#小数点を切り落とし
b1 = math.floor(b1)
g1 = math.floor(g1)
r1 = math.floor(r1)

b2 = math.floor(b2)
g2 = math.floor(g2)
r2 = math.floor(r2)

print('R:{}  G:{}  B:{}' .format(r1,g1,b1)) 
print('R:{}  G:{}  B:{}' .format(r2,g2,b2)) 
```

# 実行結果[4]
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/7dd5d6a4-9e23-7c7d-e86a-6d254699c0c3.png" width =100%">


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**昭和版：**　R:8  G:131  B:114
　
　昭和版のラムちゃんの髪色のRGBは左から8,131,114となりました．なお，カラコードは008372でした．緑色のような色が出力されました．(上記の緑色の画像を参考)


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/964975/939bb10d-b34b-09ac-9974-f3e52307e00d.png" width =100%">



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**現代版：**　R:37  G:179  B:215

　一方，現代版のラムちゃんの髪色のRGBは左から37,179,215でした．カラコードは25b3d7でした．水色のようなカラーが出力されました．(上記の水色の画像を参考)


# 最後に
　今回はラムちゃんの髪色のRGBを求めました．実行結果から確かに昭和版のラムちゃんの髪色は緑でした．一方，現代版ではRGBより水色に近いカラーであることが分かりました．次回は洞窟といった今回検証することが出来なかった現代版のラムちゃんの髪色のRGBを求めてカラーコードを調査します．

  ここまで記事を読んでいただきありがとうございました！

  ※ウマ娘の声をフーリエ変換した記事や水栓の開閉判定をLineに通知する記事も書いています．suzuが私です．興味がある方はぜひご覧ください！
https://vigne-cla.com/31-1/#toc5

※noteもやっています．
https://note.com/madoka235/n/nbba2153326e1

ぜひフォローよろしくお願いします!

# 参考文献

[1]  "【うる星やつら】ラムの本当の髪色は構造色！アニメで緑だった事情も解説"
https://happy-seed0327.com/smile/uruseiyatura-lum-hair-color.html

[2] "うる星やつらのラムはピンクの髪色？！本当の髪の色は緑じゃなく構造色！"
https://dreamweaver.site/uruseiyatsura-lum-haircolor-4672#toc3

[3] "ナスは本当にナス色なのか調べてみた"
https://qiita.com/dem_kk/items/38c9e51b87441f24951e

[4] "カラーコード変換ツール 各種カラーコードを変換します"
https://tech-unlimited.com/color.html