Releases: arnabdasbwn/PhotoMerger
Release list
PhotoMerger v0.1.0 Release
PhotoMerger Release Notes
Release: v0.1.0
Status: Initial Release Candidate
Overview
PhotoMerger is a Python and Qt based desktop application for merging
multiple overlapping photos or scanned image parts into one larger image.
It is intended for document scanning workflows, mobile photo stitching,
and other cases where a large object or document is captured in parts.
Main Features
- Modern PyQt6 desktop interface.
- Drag-and-drop and file picker based image input.
- Input image preview with zoom, fit, 100% view, and scrolling.
- Output preview before saving.
- Busy animation while merge processing is running.
- Save Result button highlight after a merge is ready.
- Auto-generated output filename using PhotoMerger_YYYYMMDD_HHMMSS.
- Default export format follows the first input image format.
- Manual export format selection.
- Optional missing-pixel fill for black or empty merge gaps.
- In-app help window with algorithm usage guidance.
Merge Algorithms
-
OpenCV Panorama Stitcher:
Best for mobile panorama style photos and handheld overlapping scenes. -
OpenCV Scan Stitcher:
Best for flat document scans and scanner based workflows. -
Feature Homography:
Uses feature matching and perspective warping for ordered overlapping
images with enough visual detail. -
ECC Alignment:
Performs fine affine alignment for similar images with clear overlap.
This can take longer on large images. -
Template Match Blend:
Useful for flat scans where a common patch exists but feature detection
is weak. -
Translation Blend:
Fast option for flat images with simple horizontal or vertical offset. -
Grid Contact Sheet:
Fallback option when images cannot be stitched reliably.
Missing-Pixel Fill Algorithms
-
Content Fill Telea:
Fast OpenCV inpaint option for small to medium gaps. -
Content Fill Navier-Stokes:
Smooth OpenCV inpaint option for softer regions and gradients. -
Edge Diffusion Fill:
Fills larger border gaps by extending nearby edge content.
Supported Input And Output Formats
- JPG / JPEG
- PNG
- BMP
- TIF / TIFF
- WEBP
Packaging
Recommended Windows build command:
python -m PyInstaller --noconsole --name PhotoMerger run_photomerger.py --onefile --icon=assets\photomerger.ico --add-data "assets\photomerger.ico;assets"
The application loads assets\photomerger.ico at runtime and sets a
Windows AppUserModelID so the taskbar icon matches the executable icon.
Operational Notes
- OpenCV OpenCL acceleration is disabled for stability on Windows.
- OpenCV CPU threading is enabled where supported.
- ECC Alignment and some fill operations can take longer on large images.
- If one merge algorithm fails, try another algorithm before changing the
input images. - For document scans, start with OpenCV Scan Stitcher, Feature Homography,
Template Match Blend, or Translation Blend. - For mobile photos, start with OpenCV Panorama Stitcher.
Known Limitations
- Very low-overlap images may not stitch successfully.
- Repeating patterns can confuse feature matching or template matching.
- Strong perspective differences, blur, shadows, or exposure changes can
reduce merge quality. - Grid Contact Sheet does not merge image content; it only arranges images
into a fallback layout.