A C program for basic image processing operations that works directly with PPM format images without using external libraries.
This program provides various image processing operations:
- Load PPM images
- Generate random images
- Create images through user input
- Extract and display single color channels (R, G, B)
- Convert to grayscale
- Apply mean blur filter
- Flip images (vertical and horizontal)
- Generate negative images
# Clone the repository
git clone https://github.com/noalibi99/Low-level-Image-Processing.git
cd low-level-image-processing
# Build the project
make
# Run the program
./image_processorRun the program and follow the interactive menu to select operations:
- Load a PPM image
- Generate a random image
- Create an image through keyboard input
- Display a single color component
- Convert to grayscale
- Apply mean blur filter
- Perform vertical flip
- Perform horizontal flip
- Generate negative image
- Exit
All processed images are saved to the output/ directory.
This program works with PPM (P3) format images, which are plain text files with the following structure:
P3
width height
255
r g b r g b r g b ...
# Load an image and apply a blur filter
./image_processor
# Choose option 1, enter the path to your image
# Choose option 6, enter kernel size (e.g., 3)
# The blurred image will be saved to output/blurred_image.ppm