Rahatara's picture
Update app.py
18120d9 verified
raw
history blame
1.71 kB
import streamlit as st
from PIL import Image, ImageEnhance, ImageOps
import numpy as np
def apply_basic_augmentations(image):
"""Applies basic augmentations such as rotation and color jitter."""
# Rotate the image
image = image.rotate(np.random.uniform(-30, 30))
# Apply color jitter
enhancer = ImageEnhance.Color(image)
image = enhancer.enhance(np.random.uniform(0.75, 1.25))
# Mirror image randomly
if np.random.rand() > 0.5:
image = ImageOps.mirror(image)
return image
def simulate_latent_space_noising(image, noise_scale=25):
"""Simulates latent space manipulation by adding noise to the image."""
# Convert image to numpy array
image_array = np.array(image)
# Generate noise
noise = np.random.normal(0, noise_scale, image_array.shape)
# Add noise to image
noised_image_array = np.clip(image_array + noise, 0, 255).astype(np.uint8)
# Convert back to PIL image
noised_image = Image.fromarray(noised_image_array)
return noised_image
st.title("Hybrid Image Augmentation Demo")
uploaded_image = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
if uploaded_image is not None:
image = Image.open(uploaded_image)
st.image(image, caption="Uploaded Image", use_column_width=True)
if st.button("Augment Image"):
# Apply basic transformations
transformed_image = apply_basic_augmentations(image)
# Simulate VAE latent space manipulation by adding noise
augmented_image = simulate_latent_space_noising(transformed_image)
st.image(augmented_image, caption="Augmented Image", use_column_width=True)