108 lines
2.5 KiB
Python
108 lines
2.5 KiB
Python
import os
|
|
import numpy as np
|
|
from tensorflow.keras.preprocessing import image
|
|
from tensorflow.keras.preprocessing.image import ImageDataGenerator
|
|
from PIL import Image
|
|
|
|
# =========================
|
|
# PATH GAMBAR ASLI
|
|
# =========================
|
|
img_path = r"D:\Corn_Detection\dataset_1150\Hawar\Hawar_0118.jpg"
|
|
|
|
# =========================
|
|
# FOLDER OUTPUT
|
|
# =========================
|
|
output_dir = r"D:\Corn_Detection\augmentation"
|
|
os.makedirs(output_dir, exist_ok=True)
|
|
|
|
# =========================
|
|
# LOAD IMAGE
|
|
# =========================
|
|
img = image.load_img(img_path, target_size=(224,224))
|
|
img_array = image.img_to_array(img)
|
|
img_array = np.expand_dims(img_array, axis=0)
|
|
|
|
# Simpan gambar asli
|
|
img.save(os.path.join(output_dir, "asli.jpg"))
|
|
|
|
# =========================
|
|
# FUNGSI SIMPAN AUGMENTASI
|
|
# =========================
|
|
def save_augmented_image(datagen, filename):
|
|
aug_iter = datagen.flow(img_array, batch_size=1)
|
|
|
|
batch = next(aug_iter)
|
|
|
|
img_aug = batch[0].astype("uint8")
|
|
|
|
Image.fromarray(img_aug).save(
|
|
os.path.join(output_dir, filename)
|
|
)
|
|
|
|
# =========================
|
|
# ROTATION
|
|
# =========================
|
|
rotation_gen = ImageDataGenerator(
|
|
rotation_range=20
|
|
)
|
|
|
|
save_augmented_image(rotation_gen, "rotasi.jpg")
|
|
|
|
# =========================
|
|
# ZOOM
|
|
# =========================
|
|
zoom_gen = ImageDataGenerator(
|
|
zoom_range=0.2
|
|
)
|
|
|
|
save_augmented_image(zoom_gen, "zoom.jpg")
|
|
|
|
# =========================
|
|
# HORIZONTAL FLIP
|
|
# =========================
|
|
flip_gen = ImageDataGenerator(
|
|
horizontal_flip=True
|
|
)
|
|
|
|
save_augmented_image(flip_gen, "horizontal_flip.jpg")
|
|
|
|
# =========================
|
|
# BRIGHTNESS
|
|
# =========================
|
|
brightness_gen = ImageDataGenerator(
|
|
brightness_range=[0.8,1.2]
|
|
)
|
|
|
|
save_augmented_image(brightness_gen, "brightness.jpg")
|
|
|
|
# =========================
|
|
# WIDTH SHIFT
|
|
# =========================
|
|
width_shift_gen = ImageDataGenerator(
|
|
width_shift_range=0.1
|
|
)
|
|
|
|
save_augmented_image(width_shift_gen, "width_shift.jpg")
|
|
|
|
# =========================
|
|
# HEIGHT SHIFT
|
|
# =========================
|
|
height_shift_gen = ImageDataGenerator(
|
|
height_shift_range=0.1
|
|
)
|
|
|
|
save_augmented_image(height_shift_gen, "height_shift.jpg")
|
|
|
|
# =========================
|
|
# SHEAR
|
|
# =========================
|
|
shear_gen = ImageDataGenerator(
|
|
shear_range=0.1
|
|
)
|
|
|
|
save_augmented_image(shear_gen, "shear.jpg")
|
|
|
|
print("===================================")
|
|
print("Semua hasil augmentasi berhasil disimpan")
|
|
print("Lokasi :", output_dir)
|
|
print("===================================") |