{"id":15531439,"url":"https://github.com/yuaanlin/haar-wavelet-image-compression-visualization","last_synced_at":"2026-05-18T00:32:54.870Z","repository":{"id":104435851,"uuid":"476930977","full_name":"yuaanlin/haar-wavelet-image-compression-visualization","owner":"yuaanlin","description":"A backend service written in Go (Gin) that shows the visualization of image compression with Haar Wavelet.","archived":false,"fork":false,"pushed_at":"2022-04-09T07:33:59.000Z","size":368,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-10T23:56:17.393Z","etag":null,"topics":["gin","gin-gonic","go","golang","haar-wavelet-tranforms","haar-wavelets","image-compression","image-processing","multimedia","zhejiang-university","zju"],"latest_commit_sha":null,"homepage":"https://haar.linyuanlin.com","language":"Go","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/yuaanlin.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-02T02:57:04.000Z","updated_at":"2023-03-18T10:30:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"36e42883-0646-4af3-885e-bbb136fbf845","html_url":"https://github.com/yuaanlin/haar-wavelet-image-compression-visualization","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yuaanlin/haar-wavelet-image-compression-visualization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuaanlin%2Fhaar-wavelet-image-compression-visualization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuaanlin%2Fhaar-wavelet-image-compression-visualization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuaanlin%2Fhaar-wavelet-image-compression-visualization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuaanlin%2Fhaar-wavelet-image-compression-visualization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuaanlin","download_url":"https://codeload.github.com/yuaanlin/haar-wavelet-image-compression-visualization/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuaanlin%2Fhaar-wavelet-image-compression-visualization/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33160477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"ssl_error","status_checked_at":"2026-05-17T22:39:10.741Z","response_time":107,"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":["gin","gin-gonic","go","golang","haar-wavelet-tranforms","haar-wavelets","image-compression","image-processing","multimedia","zhejiang-university","zju"],"created_at":"2024-10-02T11:26:07.766Z","updated_at":"2026-05-18T00:32:49.862Z","avatar_url":"https://github.com/yuaanlin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Haar Wavelet Image Compression Visualization\n\nThis is a backend service written in [Go](https://go.dev/) ([Gin](https://github.com/gin-gonic/gin)) that shows the visualization of [image compression with Haar Wavelet](https://medium.com/@digitalpadm/image-compression-haar-wavelet-transform-5d7be3408aa).\n\n## How to use\n\nVisit https://haar.linyuanlin.com to see the visualization.\n\n## How to use (as API service)\n\nAssume you have an image file with name `origin.bmp` (currently only `.bmp` is supported) and you want to compress it.\n\n![./images/origin.bmp](./images/origin.bmp)\n\nPost the image to the `/upload` endpoint with form field name `image`: \n\n```bash\ncurl -F \"image=@origin.bmp\" https://api.haar.linyuanlin.com/upload\n\n# \u003e {\"id\":\"e9b6a509\"}\n```\n\nYou will get the id of the image (`e9b6a509` in this example).\n\nThen, you can use this id to get each step of the haar wavelet compression:\n\n```bash\ncurl \"https://api.haar.linyuanlin.com/visualization?uid=e9b6a509\" --output result.jpg\n```\n\nThe `result.jpg` is identical to the original image, because you don't specify the `step` option. Which means this is `step=0` (original image).\n\n![./images/step-0.jpg](./images/step-0.jpg)\n\nIf you want to see the compression result at step `1`, you can use the following command:\n\n```bash\ncurl \"https://api.haar.linyuanlin.com/visualization?uid=e9b6a509\u0026step=1\" --output result.jpg\n```\n\nYou can see the result after first step of haar wavelet transform.\n\n![./images/step-1.jpg](./images/step-1.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuaanlin%2Fhaar-wavelet-image-compression-visualization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuaanlin%2Fhaar-wavelet-image-compression-visualization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuaanlin%2Fhaar-wavelet-image-compression-visualization/lists"}