Skip to content

Python package to compress images in python using KMeans-Clustering technique

License

Notifications You must be signed in to change notification settings

imsahil007/KMeansImage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KMeansImage

Pip package(Python >= 3.0)

This is a python package to compress images in python using KMeans-Clustering technique.

N|Solid

png Download the package using:

pip3 install KMeansImage

How to use:

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

png

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

Interactive For Jupyter Notebook

from KMeansImage import kmeans_image_ui

Parameter = Image directory path

k_img = kmeans_image_ui('/home/sahil/Downloads/KMeansImage/res/')

png

k_img.save()
Image saved: /home/sahil/Downloads/KMeansImage/res/sherlock_KMeans_.jpg

Jupyter Notebook Dependency:

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 .

Packages Required:

  • numpy
  • scikit-learn
  • matplotlib
  • ipywidgets

Contact Me:

Sahil

Todos

  • Add a button for saving images instead of save() in interactive notebook
  • Add some boundary conditions
  • Add Test cases

License

MIT

Free Software, Hell Yeah!

Releases

No releases published

Packages

No packages published

Languages