My applications written during my practice at MODSEN
Image Augmentation is a Python-based application that allows users to choose a directory with images and apply various transformations to them. The app supports transformations such as resizing, reflecting, rotating, changing saturation, brightness, contrast, and adding noise. Additionally, users can generate images using prompts.You can also use the image overlay function. As well as the function of superimposing text on an image. Unit tests are covering all of the image augmentation functions.
- Resize images
- Reflect images
- Rotate images
- Random crops
- Adjust saturation, brightness, and contrast
- Add noise to images
- Generate images based on user prompts
- Overlay image with image
- Overlay text with image
To get started with Image Augmentation, follow these steps:
- Clone the repository:
git clone https://github.com/EugeneSamokhval/MODSEN-Practice.git cd MODSEN-Practice/TestProject - Install the required dependencies:
pip install kivymd opencv-python numpy requests pillow albumentations
To launch the application, simply run:
python main.py
Tests are now automatic check github actions ar repository to check them.
KivyMD OpenCV (cv2) NumPy Requests pillow
- Launch the application by running python main.py.
- Select a directory containing the images you want to transform.
- Choose from the available transformations (resize, reflect, rotate, change saturation, brightness, contrast, add noise) using the transformations checklist.
- Click the "Launch" button located below the transformations checklist.
- Wait for a pop-up message indicating that the images were successfully transformed.
- Find the transformed images in the specified save directory.
- Launch the application by running python main.py.
- Select the "Generate" tab at the bottom right of the screen.
- Enter your prompt in the prompt text field.
- Specify the dimensions of the image you want to generate.
- Choose a save directory for the generated image.
- Press the "Send" button.
- Wait for a pop-up message indicating that the image was successfully generated and saved in the chosen directory.
- Launch the application by running python main.py.
- Select the "Overlay" tab at the bottom right of the screen.
- Select the checkbox next to the label "Image overlay."
- Choose an image to overlay on the target image.
- Enter x and y coordinates in the respective text fields.
- If you want to edit all images from the load directory, activate the checkbox next to the label "Save changes for all images."
- Choose the input directory by pressing the "Choose input path" button.
- Choose the output directory by pressing the "Choose output path" button.
- To select a specific image from the input directory, navigate between images by pressing the arrow buttons under the image.
- To start processing, press the "Send" button.
- Wait for a pop-up message indicating that the images were successfully edited.
- Find the transformed images in the specified save directory.
- Launch the application by running python main.py.
- Select the "Overlay" tab at the bottom right of the screen.
- Select the checkbox next to the label "Text overlay."
- Choose the input directory by pressing the "Choose input path" button.
- Choose the output directory by pressing the "Choose output path" button.
- Enter the x, y coordinates and font size in the respective fields next to the label "Text overlay."
- Choose a font color using the color picker accessed by pressing the palette button.
- Select a font by pressing the "Choose font" button.
- To select a specific image from the input directory, navigate between images by pressing the arrow buttons under the image.
- Enter your text in the "Text for overlay" text field.
- To start processing, press the "Send" button.
- Wait for a pop-up message indicating that the images were successfully edited.
- Find the transformed images in the specified save directory.
To add custom fonts, unpack your fonts into 'TestProject/fonts'. Ensure you read the fonts' licenses before using them in your projects.
- Add random transformations from albumentations library.
- Add real-time overlay displaying.
- Increase test coverage.
- Improve quality of documentation.
If you find bugs, leave information about them in the issues section on GitHub. You can also send suggestions for improving the project there.
Samokhval Eugene - python developer
KivyMD documentation OpenCV documentation FusionBrain api documentation Pillow documentation