This project is aimed at developing a simplified version of an image processing software akin to Photoshop, where users can load images and apply various filters to manipulate them.
A grayscale image is an image where each pixel is represented by a single Sample indicating the intensity of light or shade. In grayscale images, there is no color information, only varying shades of gray from black to white. The intensity value of each pixel determines its brightness, with lower values representing darker shades and higher values representing lighter shades.
Black and white images also lack color, but they typically have only two colors: black and white (0 and 255). There are no intermediate shades of gray in a true black and white image. Each pixel is either black (representing darkness or absence of information) or white (representing brightness or presence of information).
Inverting colors is a simple yet powerful image processing operation that transforms the colors of an image by reversing each pixel's RGB values. This operation effectively produces a photographic negative effect, where light areas become dark and vice versa.
Merging two images typically involves combining them in some way to create a single composite image. If the two images are the same size, then we only need to merge them directly. However, if the images are of different sizes, we need to either resize the smaller image or both images, or crop the larger one.
Flipping an image involves mirroring its contents horizontally or vertically. Horizontal Flip: Also known as a left-right flip, this operation reflects the image along a vertical axis. Vertical Flip: Also known as a top-bottom flip, this operation reflects the image along a horizontal axis.
This filter allows the user to rotate the image clockwise by 90o, 180o or 270o as the user chooses.
This filter allows the user to make the image darker or lighter by 50% from the original image.
Cropping: Cropping an image involves removing portions of the image from one or more sides, effectively changing its composition.
When we hand photos on the wall, we put them in a frame. This filter adds a frame (a simple one or a fancy one) in the requsted color.
Resizing an image involves changing the dimensions of the entire image while maintaining the same image details. User can enter new dimensions or can enter a ratio of reduction or increase.
Resizing an image involves changing the dimensions of the entire image while maintaining the same image details. User can enter new dimensions or can enter a ratio of reduction or increase.
Blurring an image is a technique used in image processing to reduce the level of detail or sharpness in an image, resulting in a smoother appearance.
- Loading Images: Users can load images into the software interface.
- Applying Filters: Select a filter from the available options and apply it to the loaded image.
- Saving Images: Depending on the filter applied, users may have the option to save the manipulated image with the same name or a new one, and choose whether to overwrite the original image or not.
- Mohamed Tarek
- Marwan Hussein
- Mazen Nasser
- It's recommended to test the software with a variety of images to ensure compatibility and effectiveness across different scenarios.
- Any issues or bugs encountered during testing should be reported and addressed promptly by the development team.