Multimedia - Image Processing

This repository contains a C++ programming code with a graphical user interface (GUI) for image processing. The code allows users to load an image from their PC and convert the image's RGB values from 24 bits into any desired number of bits determined by the user.

Features

  • Load an image from the user's PC.
  • Specify the number of bits for the red, green, and blue channels for each pixel in the image.
  • Convert the image to the desired number of bits.
  • Display the resulting image alongside the input image.

Prerequisites

Before using this code, ensure you have the following:

  • C++ Compiler (e.g., GCC, Clang, or Visual Studio)
  • GUI library (I have used OpenGL)

Getting Started

Follow the steps below to get started with this code:

  1. Clone this repository to your local machine or download the ZIP file and extract its contents.
git clone https://github.com/Rahaf-Mansour/RGB-bit-conversion.git
  1. Install the necessary dependencies and libraries, including a GUI library of your choice.

  2. Open the project in your preferred C++ development environment.

  3. Build and compile the code using your C++ compiler.

  4. Run the executable file generated after compilation.

  5. The GUI will be displayed, allowing you to interact with the program.

Usage

  1. Launch the program after compiling it.

  2. Click on the "Load Image" button to browse and select an image file from your PC.

  3. Once the image is loaded, specify the desired number of bits for the red, green, and blue channels for each pixel. Enter the values in the corresponding input fields.

  4. After entering the desired bit values, click on the "Convert" button.

  5. The program will process the image and display the resulting image alongside the input image.

  6. You can save the converted image if desired.

  7. To process another image, click on the "Load Image" button again and repeat the steps above.

Contributing

Contributions are welcome! If you have any ideas, suggestions, or improvements, please submit a pull request or open an issue.

License

This project is licensed under the MIT License. See the [LICENSE] file for details.

Acknowledgments

This project was inspired by the need for an easy-to-use image processing tool and the desire to explore image conversion techniques. I would like to thank all the contributors who have helped make this project possible.

If you have any questions or need assistance, please feel free to contact me.

Happy image processing!