Skip to content

A program for representing and processing RGB color images with 8-bits per RGB channel

Notifications You must be signed in to change notification settings

YZ1GO/L.EIC009_P_PRJ

Repository files navigation

Image Processing Project

This project involves implementing a C++ program for representing and processing RGB color images with 8-bits per RGB channel. It includes functionalities such as color representation, image manipulation, script execution, and advanced features like median filtering and XPM2 file loading/saving.

Features

  • Color Representation:

    • Implemented a class (Color) for representing RGB colors.
    • Support for accessing individual color channels (red, green, blue).
  • Image Representation:

    • Developed a class (Image) for representing images with specified dimensions.
    • Included functionalities for pixel manipulation within images.
  • Script Processing:

    • Implemented a script interpreter to execute image processing commands from script files.
  • Basic Image Manipulations:

    • Supported commands for basic image manipulations:
      • Inversion
      • Grayscale conversion
      • Color replacement
      • Filling
      • Horizontal and vertical mirroring
  • Dimension-Changing Operations:

    • Provided commands for manipulating image dimensions:
      • Cropping
      • Rotating left and right
  • Advanced Functionality:

    • Median Filter:
      • Applied a median filter to images for noise reduction.
    • XPM2 File Support:
      • Implemented loading and saving images in the XPM2 file format.

Usage

  1. Clone the repository:
$ git clone git@github.com:YZ1GO/L.EIC009_P_PRJ01.git
  1. Open project folder in preferred IDE (C++ extensions supported)

  2. Build using makefile:

$ make
  1. Run the tests:
$ ./test
  1. If you wish to recompile everything, clean after testing:
$ make clean all

Try it yourself

You can find the files for the project and the project assignment here
Download Zip File
Open the html file in the browser and follow the assignment to do the project

About

A program for representing and processing RGB color images with 8-bits per RGB channel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published