This project was completed as part of MIT's 6.100L final project (Introduction to Computer Science and Programming Using Python).
The assignment focused on using libraries to manipulate images, simulate different types of colorblindness, and extract hidden images through steganography techniques.
It involved working with pixel-level data, matrix transformations, and bit manipulation.
- Simulated red, green, and blue colorblindness effects via matrix transformations.
- Converted images to pixel lists and reconstructed images from manipulated pixel data.
- Extracted hidden black-and-white and RGB images embedded in the least significant bits (LSBs).
- Rescaled hidden images to enhance contrast and visibility.
- Watermarked processed images automatically with custom text.
- Python
- PIL (Pillow) for image processing
- NumPy for matrix operations
- Bit manipulation (binary operations without explicit binary conversion)
- Modular software design
- Pixel-level image data handling
- Gained hands-on experience using external Python libraries (Pillow and NumPy) to solve real-world problems.
- Strengthened understanding of image representation and pixel manipulation techniques.
- Practiced matrix multiplication and binary arithmetic for transforming and extracting data.
- Learned the fundamentals of steganography by recovering hidden images.
- Applied modular coding practices for clean, extensible, and testable Python code.
- Clone the repository.
- Install required libraries:
pip install pillow numpy