Skip to content

kyle12803/ImageProcessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Processing Program

This project implements an image processing program using the Model-View-Controller (MVC) architecture.

Usage

To use the program:

  • Run the Program file and follow the instructions provided.

Components

Model

  • Implemented an Image interface to handle image data.
  • Image class and Pixels class fully represent images with properties such as max value, height, and width.
  • Pixel class defines individual pixel properties (red, green, blue).

Commands

  • Utilized the Command design pattern to implement various behaviors.
  • Commands are stored in the command folder, each implementing specific image operations.
  • Added support for new functionalities like Downscale and Partial Image Manipulation.

File Handling

  • File folder manages file operations (load and save) for different image formats.
  • Load class loads images based on the specified format.
  • Save class saves images in various formats.

GUI Implementation

  • Introduced GUI components using Swing for a user-friendly interface.
  • Followed a structured top-down design with panels for image display, histogram, command selection, and file operations.
  • Updates image and histogram dynamically based on user actions.

Image Attribution

  • The image used in the res folder is sourced from Dreamstime.
  • This image is royalty-free and used for demonstration purposes.

Histogram Computation

  • Implemented a Histogram class to compute color frequencies and display histograms.

Getting Started

To get started with the project:

  • Clone the repository.
  • Compile and run the Program file to launch the application.

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages