乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

画像加工

またまた不倫をした人のニュースが
巷で小話題になっていたので
不倫顔を再度検証してみることにしました。

解説動画はこちら




少し前に多目的トイレの方が
やらかした際に
浮気顔の調査を行いましたね。

前回は
渡部さん
東出さん
陣内さん

この3人の平均顔を求めていました。
浮気の平均顔ってこんな顔



今回は追加でお二人増えましたので
再検証です。

近藤マッチさん
元議員の宮崎謙介さん

この二人が新たに加わりましたーー

この5人で平均顔にすると
download-1

こんな感じになりました。

目元のみで合わせているので
花や口はぼやけていますが
目に特徴が出ていますね

眉は濃く
目の下がぷっくり膨らんでる

download

これが不倫顔の特徴なんじゃ無いでしょうか?!

信じるか
信じないかは
あなた次第と言うことで
また次回!!

最近坂道グループの番組を
毎週見ているので
気になってしまいまして

3グループの平均顔を
作ってみました。

解説動画はこちら


平均顔を求めるには
画像を入手しないといけません。

スクレイピング等で
取得することができますが
特定のサイトを取得するコードを
公開することができませんので
やりたい方はご自身で作ってみて下さい。

平均顔のコードは
いつも使っている奴です。

さて、それでは
平均顔を求めていきましょう。

まずは乃木坂46です。

現在46名いるようですね
平均顔はこうなりました。

download-3
目鼻達がくっきり!!!
顔はやや丸顔で
髪は肩より下くらいまでの
方が多いのですかね。

メンバーのどの方に近いのかは
分かりませんです、ご意見くださいませ。

さてお次は櫻坂46
最近改名したのかな?!
事情はよく分かりませんが
26名のみのようです。

平均顔はこうなりました。

download-2

笑顔がなく
ほっそりとした印象ですね。

髪もやや短めな感じでしょうか
少し暗い印象も感じますね。

口元のブレも無いので
皆さん近しい顔立ちなんでしょう。

こういう顔の方が
櫻坂さんに向いている顔なのかも
しれませんねえ。

お次は日向坂46
現在大注目のグループです。

メンバーは22名でした。

さて、平均顔は
download-1

若くてフレッシュ!!
顔はややシャープ目な印象で
目鼻口元とも揃っていて
非常に可愛らしい。

2020年のアイドル
と言った感じでしょうか。


最後に自分の好みの平均顔を作ってみました。

この娘なら写真指名するなー
っていう好みでの選抜です。

メンバーは
小坂_菜緒
佐々木_久美
濱岸_ひより
齊藤_京子
渡邉_美穂
加藤_史帆

以上6名の平均です。


どうなるか・・・

download

22名の平均と大きくは
変わらないと思いますが
自分はこちらの方が好みですねーー

ちなみにゲスな話ですが
どのグループでも
平均化すると可愛くなります。

歪さ、がアレなので
それが無くなると
良くなる訳ですねー。

さて、皆様は
どのチームの平均顔が
好みでしょうか?!

コメントなどいただければ
幸いです。

本日はここまでです
それでは。

最近トムブラウンの合体ネタに
ハマってしまったので
今日は合体ネタです。


解説動画はこちら



プログラミングで
合体ネタを試してみようと思います。

単純に平均顔を作るだけです。

画像をたくさん用意するのが
面倒くさいので
1vs1で合体(平均)します。

平均顔のコードを
頑張って作って頂くと
同じように出来ます!!!

興味がある方はコメントください。

では
合体!!!
スクリーンショット 2020-11-21 16.39.55

スクリーンショット 2020-11-21 16.39.08

スクリーンショット 2020-11-21 16.39.18

スクリーンショット 2020-11-21 16.39.28

スクリーンショット 2020-11-21 16.39.38

半々に合成してますが
なかなか特徴が濃いですよねー

目鼻立ちなどは
より濃い人が浮き出る感じになるようです。

詳しくは動画の方を
みてみて下さい。

それでは。

opencvで顔をすげ替えます。


解説動画はこちら


今回やったのは

男はつらいよの寅さん
進撃の巨人の誰か知らない人?
キングダムの主人公
翔んで埼玉の主人公
かぐや様は告らせたいの主人公
ファブルの主人公
エンドゲームのトニースターク
バズ・ライトイヤー
平たい顔の人

となっておリマス。

ここに載せると怒られそうなので
動画を見てくだされ!!

それでは。

今話題沸騰中の
カイロ大学の卒業証書っぽい画像を作ってみましょう。

解説動画はこちら



 今回の画像加工はopencvを用います。

インストールなどしていない方は
インストールが必要です。

早速やり方をみてみましょう。

まずは画像を適当にWEBから拾って来ます。
・証書の土台となる写真の画像
・上に貼り付ける写真の画像

この2つを用意します。

やっていることは簡単。
ベースの証書画像の上に証明写真用の画像を
貼り付けているだけです。

コードはこんな感じになります。
import cv2
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
%matplotlib inline

# 画像の読み込み
img = cv2.imread('ベース画像のパス')
img2 = cv2.imread('証明写真のパス')

# 貼り付ける画像をリサイズ(サイズはうまく調整してね)
x_i2 , y_i2 = 180 , 200
img2 = cv2.resize(img2,(x_i2 , y_i2))

# 貼り付け先のオフセットを設定して貼り付ける(ここの数値も調整してね)
x_off , y_off = 100 , 170
img[y_off:y_off+y_i2 , x_off:x_off+x_i2] = img2

# 描画
plt.figure(figsize=(20,16))
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

こんな感じになりました。
スクリーンショット 2020-06-28 15.24.01


これだと、証明写真を貼っただけなので
スタンプが無いですねーー。

スタンプも押さないと
それっぽくならないので
スタンプも押します。

別途スタンプの画像を透過PNGで用意して
上から貼り付けます。

# 画像の読み込み
img = cv2.imread('ベース画像のパス')
img2 = cv2.imread('証明写真のパス')
rogo = cv2.imread('ロゴ画像のパス',-1)

# 顔写真のリサイズと貼り付け(数値はうまく調整してね)
x_i2 , y_i2 = 180 , 200
img2 = cv2.resize(img2,(x_i2 , y_i2))
x_off , y_off = 100 , 170
img[y_off:y_off+y_i2 , x_off:x_off+x_i2] = img2

# 背景をPIL形式に変換
back = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
back = Image.fromarray(back).convert('RGBA')

# rogoをPIL形式に変換(数値はうまく調整してね)
x_i3 , y_i3 = 150,150
rogo = cv2.resize(rogo,(x_i3 , y_i3))
rogo = cv2.cvtColor(rogo, cv2.COLOR_BGRA2RGBA)
rogo = Image.fromarray(rogo).convert('RGBA')

# 画像を合成
location = (40,280)
tmp = Image.new('RGBA', back.size, (255, 255, 255, 0))
tmp.paste(rogo, location, rogo)
img = Image.alpha_composite(back, tmp)

# 描画
plt.figure(figsize=(20,16))
plt.imshow(img)
plt.show()

さて出来上がりは・・・
スクリーンショット 2020-06-28 15.24.21


いい感じにロゴもスタンプされていますね!!

画像の合成にはopencvはとても便利です。

暇な方は遊んでみるととても面白いですよ!
それでは。


このページのトップヘ