{"id":27243902,"url":"https://github.com/rushk014/image-autostitch","last_synced_at":"2025-04-10T20:58:59.775Z","repository":{"id":65850382,"uuid":"420289026","full_name":"rushk014/image-autostitch","owner":"rushk014","description":"Python application for autostitching panoramic images.","archived":false,"fork":false,"pushed_at":"2022-08-31T04:26:45.000Z","size":18726,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T20:58:55.772Z","etag":null,"topics":["autostitch","harris-corner-detector","image-processing","panorama-stitching","ransac","rectify-images","sift-features"],"latest_commit_sha":null,"homepage":"https://rushk014.github.io/image-autostitch/","language":"Python","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/rushk014.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}},"created_at":"2021-10-23T01:54:04.000Z","updated_at":"2024-12-25T02:31:55.000Z","dependencies_parsed_at":"2023-02-13T23:30:58.837Z","dependency_job_id":null,"html_url":"https://github.com/rushk014/image-autostitch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushk014%2Fimage-autostitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushk014%2Fimage-autostitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushk014%2Fimage-autostitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rushk014%2Fimage-autostitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rushk014","download_url":"https://codeload.github.com/rushk014/image-autostitch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298413,"owners_count":21080318,"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":["autostitch","harris-corner-detector","image-processing","panorama-stitching","ransac","rectify-images","sift-features"],"created_at":"2025-04-10T20:58:58.947Z","updated_at":"2025-04-10T20:58:59.756Z","avatar_url":"https://github.com/rushk014.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e Autostitching Panoramic Images \u003c/h1\u003e\r\n\r\n\u003cp align=\"center\"\u003ePython application for stitching panoramic images.\u003c/p\u003e\r\n\r\n## Description\r\n\r\nImplements stitching arbitrary images either through manually defined features\r\nor through SIFT feature matching based on the Harris corner detector, as described in [Brown et Al.](http://matthewalunbrown.com/papers/cvpr05.pdf) Stitching is accomplished using RANSAC to compute a robust homography between the set(s) of image\r\ncorrespondence, then warping each image toward a chosen reference image. Finally, multiresolution blending is accomplished using \r\nLaplacian pyramids. The application also supports image rectification.\r\n\r\n## Usage\r\n\r\nRequirements are listed in ```requirements.txt```. Application is run from ```main.py```: \r\n\r\n```bash\r\nusage: main.py [-h] -r REF [-w WARP [WARP ...]] -m\r\n               {rectify,manual_mosaic,autostitch} [-v]\r\n\r\noptional arguments:\r\n  -h, --help            show this help message and exit\r\n  -r REF, --ref REF     reference image path\r\n  -w WARP [WARP ...], --warp WARP [WARP ...]\r\n                        warp image path(s)\r\n  -m {rectify,manual_mosaic,autostitch}, --mode {rectify,manual_mosaic,autostitch}\r\n                        choose between image rectification, manual\r\n                        correspondence mosaicing and autostitched mosaicing\r\n  -v, --verbose         log file reads/writes to stdout \u0026 visualize\r\n                        intermediate autostitching outputs\r\n```\r\n\r\n### Modes\r\n\r\n- rectify: requires only ```-r REF```\r\n- manual_mosaic: requires ```-r REF``` and at least one ```-w WARP```, supports a single global feature set\r\n- autostitching: requires ```-r REF``` and at least one ```-w WARP```\r\n\r\nGlobal filepaths for intermediate and final outputs are set in ```utils.py```. \r\n\r\nNote: Click same coordinate twice to end manual shape labelling.\r\n\r\n## Examples\r\n\r\n### Rectification\r\n\r\n\u003ctable\u003e\r\n  \u003ctr\u003e\r\n     \u003ctd\u003eHallway\u003c/td\u003e\r\n     \u003ctd\u003eHallway Rectified\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"hallway\" src=\"assets/imgs/readme/hallway.jpg\" width=\"325\"/\u003e \u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"hallway rectified\" src=\"assets/imgs/readme/hallway_rectified.jpg\" width=\"325\"/\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n \u003c/table\u003e\r\n\r\n\r\n\r\n### Mosaicing\r\n\r\n\u003ctable\u003e\r\n  \u003ctr\u003e\r\n     \u003ctd\u003eBuilding Left\u003c/td\u003e\r\n     \u003ctd\u003eBuilding Right\u003c/td\u003e\r\n     \u003ctd\u003eBuilding Mosaic\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"building-left\" src=\"assets/imgs/readme/building-1.jpg\" width=\"325\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"building-right\" src=\"assets/imgs/readme/building-2.jpg\" width=\"325\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"building mosaic\" src=\"assets/imgs/readme/building-mosaic.jpg\" width=\"375\"/\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr\u003e\r\n     \u003ctd\u003eRoom Left\u003c/td\u003e\r\n     \u003ctd\u003eRoom Right\u003c/td\u003e\r\n     \u003ctd\u003eRoom Mosaic\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"room-left\" src=\"assets/imgs/readme/room-1.jpg\" width=\"325\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"room-right\" src=\"assets/imgs/readme/room-2.jpg\" width=\"325\"/\u003e\u003c/td\u003e\r\n    \u003ctd\u003e\u003cimg alt=\"room mosaic\" src=\"assets/imgs/readme/room-mosaic.jpg\" width=\"375\"/\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n \u003c/table\u003e\r\n\r\n \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushk014%2Fimage-autostitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frushk014%2Fimage-autostitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frushk014%2Fimage-autostitch/lists"}