{"id":23706978,"url":"https://github.com/nermeenkamal/image-processing-system","last_synced_at":"2026-05-01T16:34:24.529Z","repository":{"id":269329194,"uuid":"907076660","full_name":"NermeenKamal/Image-Processing-System","owner":"NermeenKamal","description":"This Python application provides a graphical user interface (GUI) for performing various image processing operations. Users can upload, manipulate, and save images using a range of techniques, including grayscale conversion, binary conversion, histogram equalization, and more.","archived":false,"fork":false,"pushed_at":"2024-12-22T18:47:09.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T06:19:03.967Z","etag":null,"topics":["matplotlib","numpy","opencv","python","tkinter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NermeenKamal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-22T18:36:21.000Z","updated_at":"2024-12-22T18:49:18.000Z","dependencies_parsed_at":"2024-12-22T19:46:29.129Z","dependency_job_id":null,"html_url":"https://github.com/NermeenKamal/Image-Processing-System","commit_stats":null,"previous_names":["nermeenkamal/image-processing-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NermeenKamal%2FImage-Processing-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NermeenKamal%2FImage-Processing-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NermeenKamal%2FImage-Processing-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NermeenKamal%2FImage-Processing-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NermeenKamal","download_url":"https://codeload.github.com/NermeenKamal/Image-Processing-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239786252,"owners_count":19696772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["matplotlib","numpy","opencv","python","tkinter"],"created_at":"2024-12-30T16:01:52.562Z","updated_at":"2026-02-03T04:30:20.187Z","avatar_url":"https://github.com/NermeenKamal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Screenshot 2024-12-22 204345](https://github.com/user-attachments/assets/46ce8d15-b065-4083-a22d-7dd26cc6b269)\n\n# Image Processing Application\n\n## Overview\nThis Python application provides a graphical user interface (GUI) for performing various image processing operations. Users can upload, manipulate, and save images using a range of techniques, including grayscale conversion, binary conversion, histogram equalization, and more.\n\n## Features\n- **Image Loading**: Load and display images from local storage.\n- **Basic Image Operations**:\n  - Convert to grayscale\n  - Convert to binary\n  - Add or subtract brightness\n  - Complement and solarization\n  - Histogram equalization and stretching\n- **Color Channel Manipulations**:\n  - Swap or eliminate RGB channels\n  - Display individual color channels\n- **Arithmetic Operations on Images**:\n  - Add or subtract one image from another\n  - Multiply or divide pixel values\n- **Save Processed Images**: Save the manipulated image to your computer.\n\n## Technologies Used\n- **Python Libraries**:\n  - `OpenCV` for image processing\n  - `Tkinter` for the GUI\n  - `NumPy` for numerical computations\n  - `Pillow` for image handling in the GUI\n  - `Matplotlib` for plotting histograms and color channels\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/your-username/image-processing-app.git\n   cd image-processing-app\n   ```\n2. Install the required dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## How to Use\n1. Run the application:\n   ```bash\n   python app.py\n   ```\n2. Use the GUI to:\n   - Load an image using the \"Read\" button.\n   - Perform various operations by clicking the corresponding buttons (e.g., \"Convert to Grayscale\").\n   - Save the processed image using the \"Save\" button.\n\n## Functionalities\n### 1. Image Loading\n- **`Read_image()`**: Allows users to select an image file to load into the application.\n\n### 2. Image Display\n- **`Show_image()`**: Displays the currently loaded image.\n\n### 3. Image Processing Operations\n- **`RGB_To_Grey()`**: Converts the image to grayscale.\n- **`RGB_To_Binary()`**: Converts the image to binary format.\n- **`Add()`**: Increases pixel brightness by 10.\n- **`Sub()`**: Decreases pixel brightness by 10.\n- **`Multiply()`**: Multiplies pixel values by 5.\n- **`Division()`**: Divides pixel values by 5.\n- **`Complement()`**: Computes the complement of the image.\n- **`Solar()`**: Applies a solarization effect.\n\n### 4. Color Manipulations\n- **`swapRB()`, `swapRG()`, `swapBG()`**: Swaps specified RGB channels.\n- **`eliminationR()`, `eliminationG()`, `eliminationB()`**: Eliminates specific RGB channels.\n\n### 5. Histogram Operations\n- **`Histo()`**: Displays the grayscale histogram.\n- **`HistoEqualization()`**: Performs histogram equalization.\n- **`HistoStretching()`**: Stretches the histogram to enhance contrast.\n\n### 6. Image Arithmetic\n- **`add_img()`**: Adds another image to the current image.\n- **`sub_img()`**: Subtracts another image from the current image.\n\n### 7. Reset and Save\n- **`Reset()`**: Resets the image to its original state.\n- **`Save()`**: Saves the current image to a specified location.\n\n## File Structure\n```\nimage-processing-app/\n|-- app.py               # Main application file\n|-- README.md            # Project documentation\n|-- requirements.txt     # List of dependencies\n```\n\n## Dependencies\n- Python 3.6+\n- OpenCV\n- NumPy\n- Tkinter (bundled with Python)\n- Pillow\n- Matplotlib\n\n## Contributing\nContributions are welcome! Please fork this repository and submit a pull request with your improvements.\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Author\nNermeen Kamal  \nFaculty of Computer Science and Information Technology  \nAhram Canadian University\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnermeenkamal%2Fimage-processing-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnermeenkamal%2Fimage-processing-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnermeenkamal%2Fimage-processing-system/lists"}