{"id":20041872,"url":"https://github.com/moheladwy/vectorquantization","last_synced_at":"2025-03-02T07:15:07.622Z","repository":{"id":216876418,"uuid":"728523364","full_name":"moheladwy/VectorQuantization","owner":"moheladwy","description":"This is the Implementation for the Vector Quantization Algorithm using  java.","archived":false,"fork":false,"pushed_at":"2024-09-18T23:42:25.000Z","size":4495,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T19:31:53.938Z","etag":null,"topics":["compress-images","compression-algorithm","compression-implementations","java","java-swing","java-swing-application","java-swing-gui","swing","swing-application","swing-gui","vector-quantization"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moheladwy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-07T05:52:03.000Z","updated_at":"2024-09-18T23:44:15.000Z","dependencies_parsed_at":"2024-01-13T11:41:25.078Z","dependency_job_id":null,"html_url":"https://github.com/moheladwy/VectorQuantization","commit_stats":null,"previous_names":["moheladwy/vectorquantization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moheladwy%2FVectorQuantization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moheladwy%2FVectorQuantization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moheladwy%2FVectorQuantization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moheladwy%2FVectorQuantization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moheladwy","download_url":"https://codeload.github.com/moheladwy/VectorQuantization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241470401,"owners_count":19968041,"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":["compress-images","compression-algorithm","compression-implementations","java","java-swing","java-swing-application","java-swing-gui","swing","swing-application","swing-gui","vector-quantization"],"created_at":"2024-11-13T10:48:06.420Z","updated_at":"2025-03-02T07:15:07.580Z","avatar_url":"https://github.com/moheladwy.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vector Quantization Image Compression\n\n## Overview\nThis project implements a Vector Quantization Image Compression Algorithm with a Java Swing GUI. The algorithm aims to compress images using vector quantization, and the graphical user interface provides a convenient way to interact with the compression and decompression processes.\n\n## Project Structure\n\n### Models Package\nThe `Models` package contains the models of the Vector Quantization algorithm.\n\n### Logic Package\nThe `Logic` package contains the core implementation of the Vector Quantization algorithm.\n\n### GUI Package\nThe `GUI` package contains the graphical user interface components.\n\n## How to Use\n1. Run the program using the following command in the CLI, and a GUI window will appear:\n    ```bash\n      git clone https://github.com/moheladwy/VectorQuantization.git VectorQuantization\n      cd VectorQuantization\n      javac Program.java \n      java Program.class\n    ```\n2. Click the \"Browse\" button to choose an image for compression.\n3. Press the \"Compress\" button to initiate the compression process.\n4. The compressed image will be displayed along with relevant information.\n5. Click the \"Clear Image\" button to reset and choose a new image.\n\n## Dependencies\n- Java Swing\n- BufferedImage\n- File I/O\n- Java Collections Framework\n\n## Note\n- Ensure that the chosen image has one of the following extensions: `jpg`, `jpeg`, `png`, `bmp`, `gif`.\n- The compressed image will be saved in the same directory as the original with the filename appended \"_compressed\".\n\n## Examples\n\n#### First Example:\n![Original Image](/src/Images/always.jpeg) ![Compressed Image](/src/DecompressedImages/always_decompressed.jpeg)\n\n#### Second Example:\n![Original Image](/src/Images/Dean%20Winchester.jpg) ![Compressed Image](/src/DecompressedImages/Dean%20Winchester_decompressed.jpg)\n\n#### Third Example:\n![Original Image](/src/Images/400x400GrayImage.jpg) ![Compressed Image](/src/DecompressedImages/400x400GrayImage_decompressed.jpg)\n\n## Contributors\n- [Mohamed Al-Adawy](https://github.com/moheladwy)\n- [Ali Al-Deen](https://github.com/Alialdin99)\n  \nFeel free to explore and modify the code to suit your needs. If you have any questions or suggestions, please contact me on my email: [mohamed.h.eladwy@gmail.com](mailto:mohamed.h.eladwy@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoheladwy%2Fvectorquantization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoheladwy%2Fvectorquantization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoheladwy%2Fvectorquantization/lists"}