# Computer Graphics Course Project [2nd Semester 2013] A comprehensive Java application for Computer Graphics image processing operations. ![Project Image](images/image.png) ## Project Structure ``` Computer_Graphics/ ├── src/ # Java source files ├── bin/ # Compiled .class files ├── images/ # Input/output image files (BMP, JPG, PNG, GIF) │ └── image.png # Project screenshot/diagram ├── compile.sh # Build script └── README.md # This file ``` ## Features This project includes various image processing operations: - **Image Operations**: Addition, Subtraction, Blending, Masking, Stitching - **Transformations**: Rotation, Shearing, Resizing, Cropping, Flipping - **Histogram Operations**: Stretching, Equalization, Matching - **Filtering**: Convolution, Unsharp Masking, Binary Thresholding - **Advanced**: Bit Plane Slicing, Block Averaging, Steganography ## Compilation To compile the project: ```bash javac -d bin src/*.java ``` ## Execution To run the application: ```bash java -cp bin Main ``` Or alternatively: ```bash cd bin java Main ``` ## Image Files - Input images should be placed in the `images/` directory - All output images will be saved to the `images/` directory - Supported formats: BMP, JPG, JPEG, PNG, GIF ## Notes - The application uses a GUI interface (Screen.java) to access various image processing operations - All image paths in the code reference the `images/` directory - Output files are automatically saved with `.bmp` extension in the `images/` directory