Skip to content

SRInternet/MegaStitcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 MegaStitcher | 亿级像素图片无缝拼接工具

License Python Platform

“当常规图像工具在 GB 级数据前崩溃时,MegaStitcher 能依然如丝般顺滑。”

MegaStitcher 是一款支持亿级像素超大图的流式无损拼接工具。无论你是需要拼接超清同人长卷画作、几十 GB 的卫星地图切片,还是天文摄影星空图,它都能在普通 PC 上轻松完成任务。


💡 优势

  • 传统痛点:当画师将超高分辨率的长卷切割为多张 part.png 在网上传播时,如果尝试用 Photoshop、PIL(Pillow)或 OpenCV 重新拼接,软件会瞬间吃满十几 GB 甚至几十 GB 的物理内存,导致设备卡死、报错崩溃;
  • 降维打击:本工具使用图像处理引擎 pyvips,采取硬盘到硬盘的流式传输(Sequential Access)解决方案。在拼接 24 亿像素(甚至更大)的图片时,内存占用能几乎全程保持在较低水平,即使是 8GB 内存的普通电脑也能轻松运行。

✨ 特性

  • 🚀 流式处理:流畅、低内存。
  • 🖥️ GUI 界面:拖拽选图、一键切换横竖拼接方向。
  • 🧵 多线程:后台静默运算,UI 实时反馈当前状态。
  • 🤝 拖拽支持:支持批量拖入带空格及中文路径的文件。

📷 界面预览

MegaStitcher 界面预览


⚙️ 快速开始

1. 克隆仓库并安装依赖

git clone https://github.com/SRInternet/MegaStitcher.git
cd MegaStitcher
pip install -r requirements.txt

2. 初始化引擎

在第一次运行程序时,由于缺少底层的 C 语言运行库,可能会遇到如下报错:

OSError: cannot load library 'libvips-42.dll': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'libvips-42.dll'

Windows 平台

  1. 下载运行库:前往 libvips GitHub Releases 页面 下载最新的 vips-dev-w64-web-x.x.x.zip [1]。
  2. 解压文件:将其解压到一个纯英文的路径下(例如:D:\vips)。
  3. 运行程序并绑定
    • 运行程序后,MegaStitcher 会弹出“初始化引导窗口”;
    • 点击【选择 libvips 文件夹】,并选中你刚刚解压的根目录(例如:D:\vips);
    • 绑定成功后,路径会被保存到配置文件 megastitcher_config.ini。下次运行无需重复配置。

Linux 平台

sudo apt install libvips

macOS 平台

brew install vips

3. 运行工具

python mega_stitcher.py

🤝 贡献与参与

如果你有更好的建议、发现了 Bug,或者想添加新的特性,欢迎提交 Issue 或 Pull Request! 可以通过顶部菜单栏中的 🌐 项目仓库 一键跳转至本项目。

📄 开源协议

本项目基于 MIT License 协议开源。你可以自由地使用、修改和分发。

About

A streaming lossless stitching tool that supports ultra-high-resolution images with billions of pixels.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages