Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLI Image Processing Basics

Description

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.


Features

  • 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

Technologies

  • Python
  • NumPy
  • Pillow (PIL)
  • Matplotlib

Concepts Practiced

  • 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 Structure

Project/
│
├── main.py
├── process.py
└── README.md

Learning Outcomes

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.

Future Improvements (Version 1.1)

  • 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.

Skills Demonstrated

  • Python Programming
  • NumPy
  • Image Processing Fundamentals
  • Data Manipulation
  • Modular Programming
  • Input Validation
  • CLI Application Development

Approx Time Taken

166 Minutes

Author

Vaibhav Kumar

About

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.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages