{"id":13341491,"url":"https://github.com/ilyakurdyukov/gravityblur","last_synced_at":"2026-03-12T17:33:07.960Z","repository":{"id":40429292,"uuid":"238402682","full_name":"ilyakurdyukov/gravityblur","owner":"ilyakurdyukov","description":"Image smoothing algorithm.","archived":false,"fork":false,"pushed_at":"2020-02-28T09:30:54.000Z","size":154,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-09T09:00:04.515Z","etag":null,"topics":["blur","image-processing","web-assembly"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilyakurdyukov.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}},"created_at":"2020-02-05T08:32:35.000Z","updated_at":"2024-12-07T12:25:26.000Z","dependencies_parsed_at":"2022-08-20T01:01:31.249Z","dependency_job_id":null,"html_url":"https://github.com/ilyakurdyukov/gravityblur","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ilyakurdyukov/gravityblur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyakurdyukov%2Fgravityblur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyakurdyukov%2Fgravityblur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyakurdyukov%2Fgravityblur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyakurdyukov%2Fgravityblur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilyakurdyukov","download_url":"https://codeload.github.com/ilyakurdyukov/gravityblur/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyakurdyukov%2Fgravityblur/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30435218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["blur","image-processing","web-assembly"],"created_at":"2024-07-29T19:25:28.677Z","updated_at":"2026-03-12T17:33:07.939Z","avatar_url":"https://github.com/ilyakurdyukov.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gravity Blur\n\nThis is an image smoothing algorithm inspired by [JPEG Quant Smooth](https://github.com/ilyakurdyukov/jpeg-quantsmooth). This is called *gravity blur* because the pixel values gravitate towards each other, the force of this *gravity* is inversely proportional to the distance between them.\n\nThis algorithm preserves sharp edges if the distance between pixel values on the sides of the edges is greater than *range*. With more iterations, it is not only smoothes the image, but can also make it look like CG art or poster.\n\nThe original project page is [here](https://github.com/ilyakurdyukov/gravityblur).\n\n## WebAssembly\n\nWeb version available [here](https://ilyakurdyukov.github.io/gravityblur/).\nImages are processed locally on your computer.\n\n- Click the \"Load\" button or drag-n-drop image into the browser window. After processing is complete, you can save the result by clicking the \"Save\" button. You can edit the *filename* field before saving to change the image format (jpeg or png, JPEG images are saved at 100% quality). The *options* field is passed to the *wasm* code when you initiate a processing by loading a file.\n\n## Usage\n\n`gravblur [options] input.[png|jpg|jpeg] output.[png|jpg|jpeg]`\n\n## Options\n\n`-r, --range f` Gravity range (0-100)  \n`-s, --sharp f` Sharpness (0-100)  \n`-n, --niter n` Number of iterations (default is 3)  \n`-R, --rgb` Process in RGB (default)  \n`-Y, --yuv` Process in YUV  \n`-S, --separate` Separate color components  \n`-a, --alpha` Use alpha channel  \n`-i, --info n` Print gravblur debug output: 0 - silent, 3 - all (default)  \n\n## Examples\n\n- Images 3x zoomed.\n\n![](https://ilyakurdyukov.github.io/gravityblur/images/lena_orig.png)\n![](https://ilyakurdyukov.github.io/gravityblur/images/lena_new.png)\n\n## Buliding\n\nIf your system have *libjpeg* and *libpng* development packages installed, just type `make`.\nOr you can specify their location with `LIBS` variable to `make`.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyakurdyukov%2Fgravityblur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyakurdyukov%2Fgravityblur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyakurdyukov%2Fgravityblur/lists"}