This is a python package to compress images in python using KMeans-Clustering technique.
pip3 install KMeansImage
from KMeansImage import kmeans_image
k_img = kmeans_image( $image_path_with_image_name , $output_colors )
k_img.save( $save_path_with_file_name )
In case you are using Jupyter notebook, you can also use:
from KMeansImage import kmeans_image_ui
k_img = kmeans_image_ui( $image_directory_path )
k_img.save( $save_path_with_file_name )
Example: Pdf
Import Library
from KMeansImage import kmeans_image
First parameter = path
Second parameter = No. of colors i.e. Clusters
k_img = kmeans_image('/home/sahil/Downloads/KMeansImage/res/batman.jpg', 20)
Original Image size: 419.291KB
Compressed Image: 253.235KB
See the difference between size of both pics
For saving the file use -
k_img.save()
Image saved: /home/sahil/Downloads/KMeansImage/res/batman_KMeans_.jpg
from KMeansImage import kmeans_image_ui
Parameter = Image directory path
k_img = kmeans_image_ui('/home/sahil/Downloads/KMeansImage/res/')
k_img.save()
Image saved: /home/sahil/Downloads/KMeansImage/res/sherlock_KMeans_.jpg
pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension
jupyter labextension install @jupyter-widgets/jupyterlab-manager
You can also download using Github:
- Download and extract this repo
- Move the terminal to the directory of setup.py
pip install .
- numpy
- scikit-learn
- matplotlib
- ipywidgets
- Add a button for saving images instead of save() in interactive notebook
- Add some boundary conditions
- Add Test cases
MIT
Free Software, Hell Yeah!