lisz-works

プログラミングと興味を貴方に

TensorFlow v2 画像切り出し:オーグメンテーション

【スポンサーリンク】

TensorFlow

こんにちわlisです!

TensorFlow v2によるオーグメンテーションについてです。

今回は、画像の切り出しについてです。

事前準備等

必要なものはこの2つ。

import tensorflow as tf
from matplotlib import pylab as plt

適宜インストールしてください。

加工した画像を表示して確認したい!という場合は、こちらをご参照ください!

https://www.lisz-works.com/entry/tensorflow2-matplotlib-img-showwww.lisz-works.com

元画像

元画像はこちらです。

元の画像

これと見比べて「こうなるのねー」と見てみてください。

中央切り出し

中央部分だけのこし

画像外側部分の削除。各次元に沿って、画像の中央領域を保持する。

例えば0.5を指定すると、画像中央から50%分を返す。

central_fraction = 0.8
img = tf.image.central_crop(image, central_fraction)
show(img)

中央切り出し 80%

img = tf.image.central_crop(image, 0.5)
show(img)

中央切り出し 50%

img = tf.image.central_crop(image, 0.3)
show(img)

中央切り出し 30%

指定範囲切り出し

左上座標/幅/高さを指定することで、指定した矩形領域を切り出します。

引数が順番に

  1. イメージ
  2. 左上Y
  3. 左上X
  4. 高さ

と、(y, x, h, w)の順番なので注意です。

offset_height = 500
offset_width = 1700
target_height = 800
target_width = 1000
img = tf.image.crop_to_bounding_box(
    image, offset_height, offset_width, target_height, target_width
)
show(img)

矩形範囲切り出し

参考

コチラを参考にしました。ありがとうございました!

www.tensorflow.org www.tensorflow.org

あとがき

TensorFlow v2による、画像切り出しについてでした!

https://www.lisz-works.com/entry/tensorflow2-matplotlib-img-showwww.lisz-works.com