Logo of Hocrox
An image preprocessing and augmentation library with Keras like interface.
Hocrox Code Check Maitained PyPI - Downloads PyPI GitHub closed pull requests GitHub issues GitHub
- Table of contents:
- Introduction
- The Keas interface
- Install
- Dependencies
- Documentation
- Example
- Blogs and Tutorials
- Support
- Contributors
- License
Hocrox is an image preprocessing and augmentation library. It provides a Keras like simple interface to make preprocessing and augmentation pipelines. Hocrox internally uses OpenCV to perform the operations on images. OpenCV is one of the most popular Computer Vision library.
Here are some of the highlights of Hocrox:
- Provides an easy interface that is suitable for radio pipeline development
- It internally uses OpenCV
- Highly configurable with support for custom layers
Keras is one of the most popular Deep Learning library. Keras provides a very simple yet powerful interface that can be used to develop start-of-the-art Deep Learning models.
Check the code below. This is a simple Keras code to make a simple neural network.
model = keras.Sequential() model.add(layers.Dense(2, activation="relu")) model.add(layers.Dense(3, activation="relu")) model.add(layers.Dense(4))
In Hocrox, the interface for making pipelines is very much similar. So anyone can make complex pipelines with few lines of code.
To install Hocrox, run the following command.
pip install Hocrox
Hocrox uses OpenCV internally so install it before.
Documentation for Hocrox is available here.
Here is one simple pipeline for preprocessing images.
from hocrox.model import Model from hocrox.layer import Read, Save from hocrox.layer.preprocessing.transformation import Resize from hocrox.layer.augmentation.flip import RandomFlip from hocrox.layer.augmentation.transformation import RandomRotate # Initalizing the model model = Model() # Reading the images model.add(Read(path="./images", name="Read images")) # Resizing the images model.add(Resize((224, 244), interpolation="INTER_LINEAR", name="Resize images")) # Augmentating the images model.add( RandomRotate( start_angle=-10.0, end_angle=10.0, probability=0.7, number_of_outputs=5, name="Randomly rotates the image" ) ) model.add(RandomFlip(probability=0.7, name="Randomly flips the image")) # Saving the images model.add(Save("./preprocessed_images", format="npy", name="Save the image")) # Generating the model summary print(model.summary()) # Transforming the images model.transform()
Check this video to learn more about Hocrox.
If you are facing any issues using Hocrox, then please raise an issue on GitHub or post something on the discussion section.
Alternatively, you can send email to.
Check the list of contributors here.