Skip to content

a file compression application with intuitive GUI made with python tkinter, compresses text and images files by factors of upto 3x, using huffman compression

Notifications You must be signed in to change notification settings

17AtGitHub/huffman-compression-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Huffman Coding Application

Overview

This application is Python-based desktop tool that implements Huffman coding for file compression and decompression. It provides a user-friendly graphical interface for encoding (compressing) and decoding (decompressing) both text files and BMP image files using the Huffman algorithm.

Features

  • Compress and decompress text files
  • Compress and decompress BMP image files
  • Intuitive graphical user interface
  • Real-time progress tracking
  • Detailed result reporting (compression ratio, processing time)
  • File browser for easy input and output file selection

Requirements

  • Python 3.6 or higher
  • tkinter (usually comes pre-installed with Python)
  • Pillow (PIL) library for image processing

Installation

  1. Clone this repository or download the source code.
git clone https://github.com/17AtGitHub/huffman-compression-application.git
cd huffman-compression-application
  1. Install the required dependencies:
pip install pillow

Usage

  1. Run the application:
python main.py
  1. Use the GUI to:

    • Select the input file
    • Choose the output file location
    • Select the file type (Text or Image)
    • Choose the mode (Encode or Decode)
    • Click "Process" to start the operation
  2. The application will display the progress and results in the GUI.

File Types and Modes

  • Text Files:

    • Encode: Compresses .txt files to .huf files
    • Decode: Decompresses .huf files back to .txt files
  • Image Files:

    • Encode: Compresses .bmp files to .huf files
    • Decode: Decompresses .huf files back to .bmp files

Contributing

Contributions to improve the Huffman Coding Application are welcome. Please feel free to submit pull requests or open issues to suggest improvements or report bugs.

Acknowledgments

  • This application uses the Huffman coding algorithm for data compression.
  • GUI is built using Python's tkinter library.
  • Image processing is handled by the Pillow (PIL) library.

About

a file compression application with intuitive GUI made with python tkinter, compresses text and images files by factors of upto 3x, using huffman compression

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages