renom.utility.image.data_augmentation.color_jitter

renom.utility.image.data_augmentation.color_jitter. color_jitter ( x , h=None , s=None , v=None , random=False , labels=None , **kwargs )

入力されたRGB画像に対し, HSV空間におけるjitter処理を適用する.入力xが4次元テンソルで与えられた場合, 第一軸をバッチサイズとしバッチ内のすべての画像に対しjitter処理を適用する.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元RGB画像.
  • h ( tuple ) -- HSV色空間におけるH値を変化させる幅を指定するタプル.(min h, max h)の形式を受け取る.
  • s ( tuple ) -- HSV色空間におけるS値を変化させる幅を指定するタプル.(min s, max s)の形式を受け取る.
  • v ( tuple ) -- HSV色空間におけるV値を変化させる幅を指定するタプル.(min v, max v)の形式を受け取る.
  • random ( bool ) -- Trueが与えられた場合, Jitter処理を指定された値の範囲でランダムに適用する.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
戻り値:

Jitter処理が施された画像(4次元テンソル). インスタンス化時に教師データが与えられていた場合変形が教師データ施された教師データも返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.color_jitter import color_jitter
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> jitter_image = color_jitter(image, v=2)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(jitter_image[0] / 255); axes[1].set_title("Jitter One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.color_jitter. ColorJitter ( h=None , s=None , v=None )

入力xと教師データに対し, Jitter処理を適用する.

パラメータ:
  • h ( tuple ) -- HSV色空間におけるH値を変化させる幅を指定するタプル.(min h, max h)の形式を受け取る.
  • s ( tuple ) -- HSV色空間におけるS値を変化させる幅を指定するタプル.(min s, max s)の形式を受け取る.
  • v ( tuple ) -- HSV色空間におけるV値を変化させる幅を指定するタプル.(min v, max v)の形式を受け取る.
transform ( x , random=False , labels=None , **kwargs )

入力されたRGB画像に対し, HSV空間におけるjitter処理を適用する.入力xが4次元テンソルで与えられた場合, 第一軸をバッチサイズとしバッチ内のすべての画像に対しjitter処理を適用する.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元RGB画像.
  • random ( bool ) -- Trueが与えられた場合, Jitter処理を指定された値の範囲でランダムに適用する.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
戻り値:

Jitter処理が施された画像(4次元テンソル). インスタンス化時に教師データが与えられていた場合変形が教師データ施された教師データも返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.color_jitter import ColorJitter
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> cj = ColorJitter(v=2)
>>> jitter_image = cj.transform(image)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(jitter_image[0] / 255); axes[1].set_title("Jitter One Image")
>>> plt.show()

renom.utility.image.data_augmentation.crop

renom.utility.image.data_augmentation.crop. crop ( x , left_top=(0 , 0) , size=(0 , 0) , labels=None , num_class=0 , random=False )

画像に対し一部分を切り抜き処理を適用する.xが四次元テンソルである場合,第一軸はバッチ数として処理される.教師データが同時に与えられた場合, 教師データに対しても変形が行われる.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • left_top ( tuple ) -- 座標(y, x)
  • size ( tuple ) -- 縦横幅(height, width)
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
  • random ( bool ) -- Trueが与えられていた場合, ランダムに切り抜きが行われる.
戻り値:

切り抜き処理が適用された4次元画像データ. 教師ラベルが同時に与えられていた場合変形された教師ラベルも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.crop import crop
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> crop_image = crop(image, left_top=(10, 10), size=(100, 100))
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(crop_image[0] / 255); axes[1].set_title("Crop One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.crop. Crop ( left_top=(0 , 0) , size=(0 , 0) )

切り抜き処理を入力xと教師データに対して適用する.

パラメータ:
  • left_top ( tuple ) -- 座標(y, x)
  • size ( tuple ) -- 縦横幅(height, width)
transform ( x , random=False , labels=None , num_class=0 )

画像に対し切り抜き処理を適用する.xが4次元テンソルで与えられた場合, 第一軸はバッチ数として処理される.教師データが同時に与えられた場合, 教師データに対しても変形が施される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • random ( bool ) -- Trueが与えられた場合, 切り出しが行われる座標はランダムに決められる.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

切り抜き処理が適用された4次元画像データ. 教師ラベルが同時に与えられていた場合変形された教師ラベルも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.crop import Crop
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> cr = Crop(left_top=(10, 10), size=(100, 100))
>>> crop_image = cr.transform(image)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(crop_image[0] / 255); axes[1].set_title("Crop One Image")
>>> plt.show()

renom.utility.image.data_augmentation.flip

renom.utility.image.data_augmentation.flip. flip ( x , flip=0 , random=False , labels=None , num_class=0 )

画像に対し, フリッピング処理(左右上下反転)を適用する.教師データが同時に与えられた場合, 教師データに対しても変形が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • flip ( int ) -- 1が与えられた場合, 左右反転が適用される.2が与えられた場合, 上下反転が適用される.3が与えられた場合, 両方が適用される.
  • random ( bool ) -- Trueが与えられた場合, フリッピングがランダムに適用される.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

フリッピングが施された4次元テンソル画像. インスタンス化時に教師データが与えられていた場合変形が施された教師データも返す.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.flip import flip
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> flip_image = flip(image, flip=1) # Horizontal Flip
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(flip_image[0] / 255); axes[1].set_title("Flip One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.flip. Flip ( flip )

入力xと教師データに対しフリッピング処理を行う.

パラメータ: flip ( int ) -- 1が与えられた場合, 左右反転が適用される.2が与えられた場合, 上下反転が適用される.3が与えられた場合, 両方が適用される.
transform ( x , random=False , labels=None , num_class=0 )

画像データに対しフリッピング処理を適用する.xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理される.同時に教師データが与えられた場合, 教師データに対しても変形処理が施される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • random ( bool ) -- Trueが与えられた場合, フリッピングがランダムに適用される.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

フリッピングが施された4次元テンソル画像. インスタンス化時に教師データが与えられていた場合変形が施された教師データも返す.

戻り値の型:

(ndarray)

Example:
>>> from renom.utility.image.data_augmentation.flip import Flip
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> fl = Flip(flip=1) # Horizontal Flip
>>> flip_image = fl.transform(image)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(flip_image[0] / 255); axes[1].set_title("Flip One Image")
>>> plt.show()

renom.utility.image.data_augmentation.rescale

renom.utility.image.data_augmentation.rescale. rescale ( x , option='' , labels=None , **kwargs )

画像に対しリスケーリングを適用する.入力xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理され,バッチ内の各画像に対し処理が適用される.

パラメータ:
  • x ( ndarray ) -- 4(第一軸はバッチ数)次元テンソルデータ
  • option ( str ) -- リスケールオプション. "zero": 画素値が[-0.5, 0.5]の範囲に収まるようスケーリング. "vgg" : 画素値からvggデータセットの平均値を引く. other : 画素値が[0.0, 1.0]の範囲に収まるようリスケール.
  • labels ( ndarray ) -- 二次元行列の教師データ array). ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

Example:
>>> from rescale import rescale
>>> from PIL import Image as im
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> rescale_image = rescale(image, option="zero")
>>> print(rescale_image.min(), rescale_image.max())
(-0.5, 0.5)
class renom.utility.image.data_augmentation.rescale. Rescale ( option='' )

入力xに対してリスケール処理を適用する.

パラメータ: option ( str ) -- リスケールオプション. "zero": 画素値が[-0.5, 0.5]の範囲に収まるようスケーリング. "vgg" : 画素値からvggデータセットの平均値を引く. other : 画素値が[0.0, 1.0]の範囲に収まるようリスケール.
transform ( x , labels=None , **kwargs )

入力画像に対しリスケール処理を適用する.入力xが四次元テンソルデータであった場合, その第一軸はバッチ数として解釈され、バッチ内の各画像に対し処理が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

>>> from renom.utility.image.data_augmentation.rescale import Rescale
>>> from PIL import Image as im
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> rs = Rescale(option="zero")
>>> rescale_image = rs.transform(image)
>>> print(rescale_image.min(), rescale_image.max())
(-0.5, 0.5)

renom.utility.image.data_augmentation.resize

renom.utility.image.data_augmentation.resize. resize ( x , size=(0 , 0) , labels=None , num_class=0 , **kwargs )

画像に対しリスケーリングを適用する.入力xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理され,バッチ内の各画像に対し処理が適用される.教師データが同時に与えられていた場合, 教師データも同時に返される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

ndarray

Example:
>>> from renom.utility.image.data_augmentation.resize import resize
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> resize_image = resize(image, size=(300, 500))
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(resize_image[0] / 255); axes[1].set_title("Resize One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.resize. Resize ( size=(0 , 0) )

入力xに対してリスケール処理を適用する.

パラメータ: size ( tuple ) -- 画像サイズ(Height, Width)
transform ( x , labels=None , num_class=0 , **kwargs )

画像に対しリスケーリングを適用する.入力xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理され,バッチ内の各画像に対し処理が適用される.教師データが同時に与えられていた場合, 教師データも同時に返される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

ndarray

Example:
>>> from renom.utility.image.data_augmentation.resize import Resize
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> rs = Resize(size=(300, 500))
>>> resize_image = rs.transform(image)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(resize_image[0] / 255); axes[1].set_title("Resize One Image")
>>> plt.show()

renom.utility.image.data_augmentation.rotate

renom.utility.image.data_augmentation.rotate. rotate ( x , degree , fill_mode='constant' , fill_val=0 , random=False , labels=None )

画像に対し回転処理を適用する.入力xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理され,バッチ内の各画像に対し処理が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • degree ( int ) -- 回転角度
  • fill_mode ( str ) -- 回転処理後の画素を保管する方法を指定する. ['constant', 'nearest']のどちらかを指定可能.
  • fill_val ( float ) -- fill_modeにconstantが与えられた際に使用される定数.
  • random ( bool ) -- Trueが与えられた場合, 指定された範囲内のランダムな回転角度による変換処理が適用される.
  • labels ( ndarray ) -- 教師データ. 教師データを与える場合は, degree=90とする必要がある.
戻り値:

Jitter処理が施された画像(4次元テンソル). インスタンス化時に教師データが与えられていた場合変形が教師データ施された教師データも返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.rotate import rotate
>>> from PIL import Image as im
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> rotate_image = rotate(image, degree=10)
class renom.utility.image.data_augmentation.rotate. Rotate ( degree , fill_mode='constant' , fill_val=0 )

入力xに対して回転処理を適用する.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • degree ( int ) -- 回転角度
  • fill_mode ( str ) -- 回転処理後の画素を保管する方法を指定する. ['constant', 'nearest']のどちらかを指定可能.
  • fill_val ( float ) -- fill_modeにconstantが与えられた際に使用される定数.

Example

>>> from rotate import rotate
>>> from PIL import Image as im
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> rt = Rotate(degree=10)
>>> rotate_image = rt.transform(image)
transform ( x , random=False , labels=None , num_class=0 , **kwargs )

画像に対し回転処理を適用する.入力xが四次元テンソルで与えられた場合, 第一軸はバッチサイズとして処理され,バッチ内の各画像に対し処理が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • random ( bool ) -- Trueが与えられた場合, 指定された範囲内のランダムな回転角度による変換処理が適用される.
  • labels ( ndarray ) -- 教師データ. 教師データを与える場合は, degree=90とする必要がある.
Retuens:
3, 4(第一軸はバッチ数)次元画像データ
教師データが与えられていた場合,変換された教師データも同時に返される.

renom.utility.image.data_augmentation.shift

renom.utility.image.data_augmentation.shift. shift ( x , shift , fill_mode='constant' , fill_val=0 , random=False , labels=None , num_class=0 )

画像に対してシフト処理を行う. 入力xが4次元テンソルで与えられた場合,第一軸はバッチ数として処理され, バッチ内の各画像に対して処理が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • shift ( tuple ) -- 座標(y, x)
  • fill_mode ( str ) -- 回転処理が施された後の画素補正方法
  • fill_val ( float ) -- fill_modeにconstantが与えられた際に使用される定数.
  • random ( bool ) -- Trueが与えられた場合, シフトはランダムに行われる.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.shift import shift
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> shift_image = shift(image, shift=(50, 50))
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(shift_image[0] / 255); axes[1].set_title("Shift One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.shift. Shift ( shift , fill_mode='constant' , fill_val=0 )

入力xに対してシフト処理を適用する.

パラメータ:
  • shift ( tuple ) -- 座標(y, x)
  • fill_mode ( str ) -- 回転処理が施された後の画素補正方法
  • fill_val ( float ) -- fill_modeにconstantが与えられた際に使用される定数.
transform ( x , random=0 , labels=None , num_class=0 )

画像に対してシフト処理を行う. 入力xが4次元テンソルで与えられた場合,第一軸はバッチ数として処理され, バッチ内の各画像に対して処理が適用される.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ数)次元画像データ
  • random ( bool ) -- Trueが与えられた場合, シフトはランダムに行われる.
  • labels ( ndarray ) -- 教師データ(2次元行列) ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

リスケール処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.shift import Shift
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> sh = Shift(shift=(50, 50))
>>> shift_image = sh.transform(image)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(shift_image[0] / 255); axes[1].set_title("Shift One Image")
>>> plt.show()

renom.utility.image.data_augmentation.zoom

renom.utility.image.data_augmentation.zoom. zoom ( x , zoom_rate=(1 , 1) , random=False , labels=None , num_class=0 )

画像に対して拡大処理を行う. 入力xが4次元テンソルで与えられた場合,第一軸はバッチ数として処理され, バッチ内の各画像に対して処理が適用される.ズーム比は1以上であることが必要.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ)次元画像
  • zoom_rate ( tuple ) -- 拡大比. zoom_ratio=(min, max)のように下限と上限を指定できる.
  • random ( bool ) -- Trueが与えられた場合, 指定されたパラメータの範囲内で,ランダムに変形が行われる.
  • labels ( ndarray ) -- 二次元行列の教師データ array). ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

拡大処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.zoom import zoom
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> zoom_image = zoom(image, zooom_rate=2, random=True)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(zoom_image[0] / 255); axes[1].set_title("Zoom One Image")
>>> plt.show()
class renom.utility.image.data_augmentation.zoom. Zoom ( zoom_rate=(1 , 1) )

入力xに対して拡大処理を適用する.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ)次元画像
  • zoom_rate ( tuple ) -- 拡大比. zoom_ratio=(min, max)のように下限と上限を指定できる.
transform ( x , random=False , labels=None , num_class=0 )

画像に対して拡大処理を行う. 入力xが4次元テンソルで与えられた場合,第一軸はバッチ数として処理され, バッチ内の各画像に対して処理が適用される.ズーム比は1以上であることが必要.

パラメータ:
  • x ( ndarray ) -- 3, 4(第一軸はバッチ)次元画像
  • random ( bool ) -- Trueが与えられた場合, 指定されたパラメータの範囲内で,ランダムに変形が行われる.
  • labels ( ndarray ) -- 二次元行列の教師データ array). ex:) np.array([[center x, center y, x_top_left, height, 0, 0, 0, 1, 0]])
  • num_class ( int ) -- データセット内に含まれるクラス数
戻り値:

拡大処理が適用された画像. 教師データが与えられていた場合,変換された教師データも同時に返される.

戻り値の型:

(ndarray)

Example

>>> from renom.utility.image.data_augmentation.zoom import Zoom
>>> from PIL import Image as im
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> image = im.open(image path) # ex:) "./image_folder/camera.jpg"
>>> image = np.array(image).astype(np.float32)
>>> zo = Zoom(zoom_rate=2)
>>> zoom_image = zo.transform(image, random=True)
>>> fig, axes = plt.subplots(2, 1)
>>> axes[0].imshow(image/255); axes[0].set_title("Original Image")
>>> axes[1].imshow(zoom_image[0] / 255); axes[1].set_title("Zoom One Image")
>>> plt.show()