{"id":17272101,"url":"https://github.com/axu2/image-quilting","last_synced_at":"2025-07-13T02:05:56.148Z","repository":{"id":39831592,"uuid":"232756643","full_name":"axu2/image-quilting","owner":"axu2","description":"A numpy implementation of the paper \"Image Quilting for Texture Synthesis and Transfer\" (2001)","archived":false,"fork":false,"pushed_at":"2024-02-16T07:33:03.000Z","size":72747,"stargazers_count":19,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T08:21:31.535Z","etag":null,"topics":["image-based-rendering","texture-mapping","texture-synthesis"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/axu2.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,"zenodo":null}},"created_at":"2020-01-09T08:11:53.000Z","updated_at":"2025-03-01T17:15:18.000Z","dependencies_parsed_at":"2025-04-14T08:33:08.407Z","dependency_job_id":null,"html_url":"https://github.com/axu2/image-quilting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/axu2/image-quilting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axu2%2Fimage-quilting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axu2%2Fimage-quilting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axu2%2Fimage-quilting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axu2%2Fimage-quilting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axu2","download_url":"https://codeload.github.com/axu2/image-quilting/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axu2%2Fimage-quilting/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265080235,"owners_count":23708118,"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":["image-based-rendering","texture-mapping","texture-synthesis"],"created_at":"2024-10-15T08:47:45.654Z","updated_at":"2025-07-13T02:05:56.104Z","avatar_url":"https://github.com/axu2.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Image Quilting for Texture Synthesis and Transfer\n\n![Demo](abstract_screenshot.PNG)\n\nhttps://www.youtube.com/watch?v=QMiCNJofJUk\n\nImage quilting is a technique of generating new images \nby stitching together patches of existing images.\nIt has applications of \n\n1) Texture synthesis, generating arbitrarily large textures from small real-world samples and \n\n2) Texture transfer, re-rendering an image in the style of another.\n\n\u003eThe method\nworks directly on the images and does not require 3D information.\n\nFor more information, consult the original paper at https://people.eecs.berkeley.edu/~efros/research/quilting.html\n\nAll images in this readme come from the original paper or presentation at SIGGRAPH '01.\n\nIn this repository, we will be implementing the paper using Python and NumPy.\n\n## Texture Synthesis\n\nThe algorithm starts with an input image and a block size:\n\n![input block](input.png)\n\nWe then define a minimum cost path between the overlap of two blocks:\n\n\u003cimg src=\"slide.png\" width=500 /\u003e\n\nWe then build up a synthesized image by tiling small blocks of the input image.\n\n![build](build.png)\n\n(a) Here, we just randomly choose blocks\n\n(b) Here we pick blocks that have the least overlap error\n\n(c) We do everything in (b) but also cut along the minimum error boundary.\n\n## Texture Transfer\n\n\u003e[Here] just add another constraint when sampling: similarity to underlying image at that spot\n\n![half](half.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxu2%2Fimage-quilting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxu2%2Fimage-quilting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxu2%2Fimage-quilting/lists"}