Package: visumorph
VisuMorphVisuMorph is a powerful, user-friendly Python package designed for image manipulation. It simplifies image processing tasks, allowing users to effortlessly apply transformations and adjustments to their images. With its intuitive interface and a wide range of functionalities, VisuMorph is ideal for both hobbyists and professionals looking to enhance their digital imagery.DocumentationThe full documentation including installation guides, example usages, and
API references is hosted on ReadTheDocs and can be found here:https://visumorph.readthedocs.io/en/latest/ContributorsIn alphabetical order:Atabak Alishiri (@atabak-alishiri)Orix Au Yeung (@SoloSynth1)Marco Bravo (@Marcony1)Shawn Hu (@shawnhu444)InstallationFor Regular UsersCurrently, the package is published on PyPI. If you're looking to use VisuMorph without diving into the development, you can easily install it using pip:pipinstallvisumorphFor DevelopersFor those interested in contributing or exploring the development version, please follow these steps:Clone the repository:gitclonehttps://github.com/UBC-MDS/VisuMorph.gitNavigate to the cloned directory and install the package in editable mode along with the development dependencies:pipinstall-e.FeaturesVisuMorph includes a variety of functions for image manipulation:Flipping(flip): Horizontally or vertically flip images, useful for creating mirror effects or correcting orientation.Rotating(rotate): Rotate images by a specified degree, supporting both clockwise and anticlockwise rotations.Hue Change(change_hue): Adjust the hue of images, allowing for color shifting and mood setting in visuals.Scaling(scale): Resize images, either uniformly or non-uniformly, without losing the essence of the visual content.Quick Start ExamplesFor a quick glimpse into what VisuMorph can do, here are a few simple examples:Flip an ImageFlip an image horizontally or vertically. This example flips an image horizontally.importvisumorphasvm# Load your imageimg=vm.load_image("path/to/image.jpg")# Flip the image horizontallyflipped_img=vm.flip(img,v=0)# Save the flipped imageflipped_img.save("path/to/flipped_image.jpg")Rotate an ImageRotate an image by a specified angle in degrees. This example rotates an image by 90 degrees.importvisumorphasvm# Load your imageimg=vm.load_image("path/to/image.jpg")# Rotate the image by 90 degreesrotated_img=vm.rotate(img,rotation=90)# Save the rotated imagerotated_img.save("path/to/rotated_image.jpg")Change Image HueChange the hue of an image. This example changes the hue by a delta value.importvisumorphasvm# Load your imageimg=vm.load_image("path/to/image.jpg")# Change the hue of the imagehue_changed_img=vm.change_hue(img,delta_hue=0.3)# Save the hue-changed imagehue_changed_img.save("path/to/hue_changed_image.jpg")Scale an ImageScale an image by a specified factor. This example enlarges the image by 20%.importvisumorphasvm# Load your imageimg=vm.load_image("path/to/image.jpg")# Scale the image by 1.2 timesscaled_img=vm.scale(img,scale=1.2)# Save the scaled imagescaled_img.save("path/to/scaled_image.jpg")Make sure to replace"path/to/image.jpg"and the save paths with the actual paths to your image files and desired output locations.Running TestsTo ensure VisuMorph works as expected, we've included a suite of tests. You can run these tests using pytest to verify the installation and functionality:pytest--cov=visumorphIf a coverage report is desired, you can run the above command with an extra arugment:pytest--cov=visumorph--cov-report=xmlPosition in the Python EcosystemVisuMorph, while a robust tool for image manipulation, is designed primarily as an educational project for the 524 course in the Master of Data Science program. It serves as an introductory tool for those beginning their journey in data science and image processing. While it offers a range of functionalities, it is more limited in scope compared to professional-grade packages like PIL (Python Imaging Library) and OpenCV. These larger libraries offer a wider range of complex functionalities and are suited for industrial applications. However, VisuMorph stands out for its simplicity and ease of use, making it an excellent starting point for students and hobbyists looking to understand the basics of image manipulation in Python.For reference to more advanced libraries, you can visit:PIL (Python Imaging Library):PILOpenCV:OpenCVContributingInterested in contributing? Check out the contributing guidelines. Please note that this project is released with aCode of Conduct.
By contributing to this project, you agree to abide by its terms.Licensevisumorphwas created by Orix Au Yeung, Marco Bravo, Atabak Alishiri, Shawn Hu. It is licensed under the terms of the MIT license.Creditsvisumorphwas created withcookiecutterand thepy-pkgs-cookiecuttertemplate.