1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

第2回 橋本環奈の画像を正方形にするプログラムを作成してみた

Last updated at Posted at 2023-09-26

やったこと

画像分類の勉強のため、入力された画像が橋本環奈さんであるかを判定するAIを作ろうと考えた。
前回紹介したプログラムを使って、集めた画像を正方形にトリミングするプログラムを作成した。

ソースコード

正方形にする際に画像の四隅の座標を指定する必要がある。画像の中心を基準に正方形を作成すると顔が見切れることがあった。そのため画像のtopの座標は0で固定をした。

TrimSquare.py
import os
import glob

from tqdm import tqdm
from PIL import Image

def crop_to_square(img_path, output_path):
    # 画像を開く
    image = Image.open(img_path)

    # 画像の幅と高さを取得
    width, height = image.size

    # 正方形のサイズを計算
    size = min(width, height)

    # 画像を正方形に切り取る
    left = (width - size) / 2
    top = 0
    right = (width + size) / 2
    bottom = size
    square_image = image.crop((left, top, right, bottom))

    # 正方形に切り取った画像を保存
    square_image.save(output_path)


# 画像のパスを取得
img_list = glob.glob('./Hashimoto/*.jpg')
# 正方形にトリミング
for img in tqdm(img_list):
    square_img_path = f'./Trimed_Hashimoto/{os.path.basename(img)}'
    crop_to_square(img, square_img_path)

まとめ

第1回でダウンロードした画像を正方形にトリミングを行った。一部顔が見切れているものもあるが、一旦このままにして分類モデルを作成する。なおOpenCVやface_recognitionのライブラリを活用して、顔を検知し、顔全体が映るようにトリミングすることで顔が見切れる問題は解決できると考える。ただし1つの画像に複数人が映っている場合には対策が必要となる。

関連記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?