perl の面白さ 4 Image::Magick;[ImageMagick]
Image::Magick;[ImageMagick]は「画像処理モジュール」です。
このほかに「Imager」や「GD」「openGL」等というモジュールも有りますが、私はもっぱら[ImageMagick]です。
何をやったかというと
「1600万色の色を作成」「1600万色の色分類化」「特定の色(特に肌の色)をのみ抜き出す」
「[pdf,pbm]からjpegの変換?」「ある画像の輪郭(外周をなぞる)を描く」「画像1枚で3D」
「画像の背景を透明」「画像を張り合わせて、動く画像(gif で作成)」
等です。
特にハマったのは、「[肌の色]って、何色なの?」でした。
最近では「肌色」という言い方が「差別用語」ということで、色鉛筆に「肌色」が無くなったそうです。
代わりに「ペールオレンジ」と言われるそうです。
「肌の色」は人種によって違いますよね。
黒色人種は沢山のメラニン色素を持ってる。
白色人種はあまりメラニン色素を持っていない。
黄色人種は中間のメラニン色素を持っている。
のだそうですが、この「定義」では、色分け出来ません。
又、「肌の色」も、光線の当たり具合によって、「肌の色」が明るくなったり、暗くなったりして、変化します。
でも、「基本的な肌の色」って変わらないのではないかと思っています。
そこで、私なりの「色の区分方法」を考えました。
「閑話休題:1600万の色って見たことありますか?」に書きましたが、
「赤~橙 ~黄 「R=>G=>B」:赤から黄に変化させる」の場合
「G/R=G/B=比率」です。(この場合「Gは中間色」で、「Rが上位色」「Bが下位色」です。)
「上記の式」は下記の場合、「左が上位色、中間色、下位色」と読み替える。
「緑~若草~黄 「G=>R=>B」:緑から黄に変化させる
「緑~緑水~水色「G=>B=>R」:緑から水色に変化させる
「青~青水~水色「B=>G=>R」:青から水色に変化させる
「青~青紫~紫 「B=>R=>G」:青から紫に変化させる
「赤~赤紫~紫 「R=>B=>G」:赤から紫に変化させる
こうすることで、同じ比率の色でも「白っぽい~色~黒っぽい」が表現でき、「色の区分け」には、便利でした。
ちなみに、「H25.7月にグーグルが、[人間の顔をゴリラと間違えるミス]」というのがありました。
しかし、私の色区分なら「人間の顔色」と「ゴリラの顔色」は「違い色」の「違う比率」ですので、間違えはしなかったです。(笑)
[ad#wpx-01]