This project demonstrates core NumPy concepts by simulating grayscale image preprocessing on a synthetic 256×256 image.
The goal is to understand how multidimensional arrays, vectorized operations, slicing, filtering, aggregation, and randomness are used in image processing workflows.
- Python
- NumPy
- Matplotlib
The following operations were implemented:
- Generated a random 256×256 grayscale image
- Normalized pixel values (0–1 scaling)
- Extracted a centered crop (50% region)
- Increased brightness with safe clipping
- Applied binary threshold filtering
- Added random noise
- Shuffled image rows
- Saved processed outputs
- Multidimensional arrays
- Indexing & slicing
- Vectorized operations
- Broadcasting
- Aggregation functions
- Conditional filtering (thresholding)
- Random number generation
- Image-like data manipulation
This project strengthened my understanding of how NumPy handles multidimensional data and how image preprocessing works in Machine Learning pipelines.






