Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oussamami01/image-processing-java-application
This Java application provides a simple interface for performing fundamental image processing tasks.
https://github.com/oussamami01/image-processing-java-application
Last synced: 20 days ago
JSON representation
This Java application provides a simple interface for performing fundamental image processing tasks.
- Host: GitHub
- URL: https://github.com/oussamami01/image-processing-java-application
- Owner: OussamaMi01
- License: mit
- Created: 2024-07-22T10:51:01.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-07-22T11:14:49.000Z (5 months ago)
- Last Synced: 2024-07-23T13:21:39.243Z (5 months ago)
- Language: Java
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Image Processing Java Application
## Overview
π¨ **Curious about what you can create with Java and GitHub?** Check out my latest personal project, now live on GitHub! π This project demonstrates fundamental image processing techniques using Java, with the development done using IntelliJ IDEA.
This is **part 2** of my previous Java app about image descriptors. Dive into the world of image processing with this **user-friendly Java application** that allows you to perform various image manipulation tasks.
## Features
- **Image Selection**: Choose an image file from your device using a file chooser dialog.
- **Grayscale Conversion**: Convert the selected image to grayscale based on luminance values.
- **Threshold Filter**: Apply a binary threshold filter to create a black-and-white effect.
- **Image Resizing**: Resize the image by specifying new dimensions.
- **Edge Detection**: Use the Sobel operator for edge detection.## Installation
1. **Clone the Repository**:
```bash
git clone https://github.com/OussamaMi01/image-processing-java.git
```2. **Open the Project**:
- Open IntelliJ IDEA.
- Select `Open` and choose the cloned repository directory.3. **Build the Project**:
- Ensure you have the Java Development Kit (JDK) installed.
- Build the project using IntelliJ IDEAβs build tools.## Usage
1. **Run the Application**:
- In IntelliJ IDEA, run the `ImageProcessingMain` class.2. **Select an Image**:
- A file chooser dialog will appear. Select the desired image file from your device.3. **Process the Image**:
- The application will automatically convert the image to grayscale, apply a threshold filter, resize it based on user input, and detect edges.4. **Save Processed Images**:
- The application will save the processed images at various stages with distinct filenames.## Code Explanation
- **Main Class**:
- The `main` method handles the overall workflow: image selection, processing, and saving.
- **Image Selection**:
- `chooseImageFile()` method uses `JFileChooser` for file selection.
- **Image Processing**:
- Grayscale conversion averages RGB values.
- A threshold filter creates a binary image.
- User inputs new dimensions for resizing.
- Sobel operator applies edge detection.
- **Helper Functions**:
- `applyFilter()` method applies the Sobel filter to each pixel.## Contributing
If you would like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a new branch for your changes.
3. Commit your changes and push them to your fork.
4. Create a pull request describing your changes.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
For any questions or feedback, please reach out to me via [GitHub](https://github.com/OussamaMi01).