A command-line Image Processing application built using NumPy, Pillow, and Matplotlib. The program allows users to load an image, perform basic image processing operations, visualize the results, and save processed images.
- Load image from disk
- Display image information
- Shape
- Data type
- Number of dimensions
- Total size
- Convert image to grayscale
- Crop image
- Flip image horizontally or vertically
- Adjust brightness
- Adjust contrast
- Save processed images
- Input validation for user selections
- Python
- NumPy
- Pillow (PIL)
- Matplotlib
- NumPy multidimensional arrays
- Image representation as arrays
- RGB color channels
- Array slicing
- Array indexing
- Broadcasting
- Vectorized operations
- Matrix multiplication
- Clipping values using
np.clip() - Image loading and saving with Pillow
- Data type conversion
- Modular Python design
Project/
│
├── main.py
├── process.py
└── README.md
Through this project I learned:
- How digital images are stored as NumPy arrays.
- The difference between indexing and slicing.
- How RGB images are represented using three color channels.
- How image transformations can be performed using vectorized NumPy operations.
- How to manipulate images without writing pixel-by-pixel loops.
- How Pillow and NumPy work together for image processing tasks.
- How to organize image processing logic into reusable modules.
- Apply more realistic contrast adjustment.
- Add negative image filter.
- Add threshold (binary) filter.
- Separate image processing from image display.
- Improve save workflow for processed images.
- Add support for chaining multiple image transformations.
- Python Programming
- NumPy
- Image Processing Fundamentals
- Data Manipulation
- Modular Programming
- Input Validation
- CLI Application Development
166 Minutes
Vaibhav Kumar