{"id":31103582,"url":"https://github.com/artstyle19/quadtree-image-compression","last_synced_at":"2026-05-16T18:06:56.128Z","repository":{"id":313511879,"uuid":"1051677425","full_name":"ArtStyle19/quadtree-image-compression","owner":"ArtStyle19","description":"Interactive image compression viewer built with C++ / OpenGL. Uses a quadtree to split images into blocks: big for smooth regions, small for details.","archived":false,"fork":false,"pushed_at":"2025-09-06T14:29:47.000Z","size":6364,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-06T16:08:15.164Z","etag":null,"topics":["cpp17","image-compression","image-processing","opengl","quadtree","quadtree-art","quadtrees"],"latest_commit_sha":null,"homepage":"","language":"C++","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/ArtStyle19.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-06T13:54:30.000Z","updated_at":"2025-09-06T14:29:50.000Z","dependencies_parsed_at":"2025-09-06T16:08:18.274Z","dependency_job_id":"ece3f30c-7e0b-47f8-a77d-acf2e9cd90f3","html_url":"https://github.com/ArtStyle19/quadtree-image-compression","commit_stats":null,"previous_names":["artstyle19/quadtree-image-compression"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ArtStyle19/quadtree-image-compression","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtStyle19%2Fquadtree-image-compression","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtStyle19%2Fquadtree-image-compression/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtStyle19%2Fquadtree-image-compression/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtStyle19%2Fquadtree-image-compression/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArtStyle19","download_url":"https://codeload.github.com/ArtStyle19/quadtree-image-compression/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtStyle19%2Fquadtree-image-compression/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275521497,"owners_count":25479612,"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","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cpp17","image-compression","image-processing","opengl","quadtree","quadtree-art","quadtrees"],"created_at":"2025-09-17T02:06:39.740Z","updated_at":"2025-09-17T02:06:42.651Z","avatar_url":"https://github.com/ArtStyle19.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌀 Quadtree Image Compression\n\n---\n\n## Developed by\n\n## Jorge Guillermo Olarte Quispe\n\n---\n\n## Universidad Nacional del Altiplano – Ingeniería de Sistemas\n\n---\n\nA fast and interactive C++ / OpenGL tool to explore image compression with quadtrees.\nThe algorithm adaptively divides the image: big squares in uniform areas, tiny squares where details matter.\nYou can adjust parameters live, zoom and pan the canvas, customize colors, and export your compressed image as a PNG.\n\n## Screenshots\n\n| Quadtree Grid                       | Grid (Tinted)                             | Compressed Images                        |\n| ----------------------------------- | ----------------------------------------- | ---------------------------------------- |\n| ![](readme-images/parrot_lines.png) | ![](readme-images/parrot_lines_color.png) | ![](readme-images/parrot_compressed.png) |\n| ![](readme-images/ltp_lines.png)    | ![](readme-images/ltp_lines_color.png)    | ![](readme-images/ltp_compressed.png)    |\n| ![](readme-images/cube_lines.png)   | ![](readme-images/cube_lines_color.png)   | ![](readme-images/cube_compressed.png)   |\n| ![](readme-images/unap_lines.png)   | ![](readme-images/unap_lines_color.png)   | ![](readme-images/unap_compressed.png)   |\n\n\u003e Screenshot UI:  \n\u003e ![](readme-images/screenshot_doge.png)\n\n## Features\n\n- Quadtree segmentation of images\n- Adjustable leaf size and standard deviation threshold\n- Zoom \u0026 pan the canvas\n- Customizable grid color, line width, and background color\n- Load images via drag-and-drop or file browser\n- Save compressed images to PNG\n\n## Build \u0026 Run\n\n### Requirements\n\n- C++17 compiler\n- CMake ≥ 3.15\n- OpenGL (fixed-function is fine)\n- GLFW3\n- (Linux) X11 + pthread + dl\n- Vendored: Dear ImGui, stb, ImGuiFileDialog (already in `include/`)\n\n### Linux / macOS\n\n## Using cmake\n\n```bash\ngit clone https://github.com/ArtStyle19/quadtree-image-compression.git\ncd quadtree-image-compression\n\nrm -rf build\ncmake -S . -B build\ncmake --build build -j\n\n# run\n./build/bin/quadtree_viewer images/image.png\n```\n\n## Using g++\n\n```bash\ng++ -std=c++17 src/main3.cpp \\\n  include/imgui/imgui.cpp include/imgui/imgui_draw.cpp include/imgui/imgui_widgets.cpp include/imgui/imgui_tables.cpp \\\n  include/imgui/backends/imgui_impl_glfw.cpp include/imgui/backends/imgui_impl_opengl2.cpp \\\n  -Iinclude -Iinclude/imgui -Iinclude/imgui/backends \\\n  -lglfw -lGL -ldl -lpthread -lX11 -lXrandr -lXi -lXxf86vm -lXcursor \\\n  -o quadtree_viewer\n\n\n./quadtree_viewer\n```\n\n## Controls\n\n- **Mouse wheel**: zoom in/out (anchored at cursor)\n- **Drag (LMB/RMB)**: pan\n- **Double-click (LMB)**: reset view\n- **GUI (left panel)**:\n  - _Leaf power_ (`2^k`) and _StdDev power_ (`2^k`)\n  - Toggle **Fill** / **Grid**\n  - **Grid color** picker + **line width**\n  - **Canvas background** color picker\n  - **Browse…** to load image; **Save PNG** to export\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartstyle19%2Fquadtree-image-compression","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartstyle19%2Fquadtree-image-compression","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartstyle19%2Fquadtree-image-compression/lists"}