https://github.com/imsahil007/kmeansimage
Python package to compress images in python using KMeans-Clustering technique
https://github.com/imsahil007/kmeansimage
clusters image-compression jupyter-notebook kmeans-clustering pypi-package python python3
Last synced: about 1 month ago
JSON representation
Python package to compress images in python using KMeans-Clustering technique
- Host: GitHub
- URL: https://github.com/imsahil007/kmeansimage
- Owner: imsahil007
- License: mit
- Created: 2020-07-10T06:05:54.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-17T04:31:04.000Z (almost 6 years ago)
- Last Synced: 2025-10-12T21:52:46.388Z (9 months ago)
- Topics: clusters, image-compression, jupyter-notebook, kmeans-clustering, pypi-package, python, python3
- Language: Python
- Homepage: https://pypi.org/project/KMeansImage/
- Size: 15.3 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KMeansImage
# Pip package(Python >= 3.0)
This is a python package to compress images in python using KMeans-Clustering technique.
[](https://pypi.org/project/KMeansImage/)

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](https://github.com/imsahil007/KMeansImage/blob/master/res/tutorial.pdf)
Import Library
```python
from KMeansImage import kmeans_image
```
First parameter = path
Second parameter = No. of colors i.e. Clusters
```python
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 -
```python
k_img.save()
```
Image saved: /home/sahil/Downloads/KMeansImage/res/batman_KMeans_.jpg
# Interactive For Jupyter Notebook
```python
from KMeansImage import kmeans_image_ui
```
Parameter = Image directory path
```python
k_img = kmeans_image_ui('/home/sahil/Downloads/KMeansImage/res/')
```

```python
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](https://github.com/imsahil007)
### 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!**