{"id":18584982,"url":"https://github.com/bor0/mosgen","last_synced_at":"2026-01-25T03:03:09.840Z","repository":{"id":145916351,"uuid":"65400793","full_name":"bor0/mosgen","owner":"bor0","description":"Mosaic generator","archived":false,"fork":false,"pushed_at":"2016-08-17T17:52:08.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-16T05:38:31.400Z","etag":null,"topics":["image-generator","mosaic","racket","scheme"],"latest_commit_sha":null,"homepage":null,"language":"Racket","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/bor0.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":"2016-08-10T17:00:34.000Z","updated_at":"2018-09-12T20:33:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ef84e91-6f92-4c0f-999f-10acbe7a0d45","html_url":"https://github.com/bor0/mosgen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bor0/mosgen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bor0%2Fmosgen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bor0%2Fmosgen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bor0%2Fmosgen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bor0%2Fmosgen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bor0","download_url":"https://codeload.github.com/bor0/mosgen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bor0%2Fmosgen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28742973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T02:46:29.005Z","status":"ssl_error","status_checked_at":"2026-01-25T02:44:29.968Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["image-generator","mosaic","racket","scheme"],"created_at":"2024-11-07T00:29:42.385Z","updated_at":"2026-01-25T03:03:09.823Z","avatar_url":"https://github.com/bor0.png","language":"Racket","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mosaic generator\n----------------\nHello. I wrote this mainly as an exercise to train my Scheme skills. Obviously you need to have DrRacket installed on your machine and have `racket` existing somewhere in the bin folders.\n\nThe way it works is in a couple of steps. So let's get started with it:\n\n1. We need to set up our gallery folder. Let's call it X. This folder X will contain images that we would like to use in the destination image. Note that the utility will search for png files.\n2. We need to calc the average RGB values of all the files in X, and store this data. We can do that by issuing the following command:\n`racket avg-rgb.rkt X \u003e avg-rgb-vals.txt`\n3. We need to figure out what our image input will be. Let's call its location Y.\n4. Let N be the size of the crop we will be doing to the source image (NxN). Generate the output by issuing the following command:\n`racket build-mosaic.rkt Y N avg-rgb-vals.txt \u003e mosaic.html`\n\nThe above process will output an HTML file `mosaic.html` that contains references to all of the specified images in step 1 that match the best Euclidean distance.\n\nHere is an example of a generated mosaic using a library of 100 random images:\n\n![Example mosaic](example.jpg)\n\nBoro Sitnikovski\n\nAugust 2016\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbor0%2Fmosgen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbor0%2Fmosgen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbor0%2Fmosgen/lists"}