Pic Matcher is a minial and basic desktop application which helps to organize and clean up your photo library from duplicates and screenshots.
This application is divided into two main tools:
This tool scans your photo library to find visually similar images and potential duplicates. It offers multiple advanced methods for comparison:
- Perceptual Hashing (pHash, dHash, wHash): These methods create a unique "fingerprint" of each image, allowing the app to find photos that are visually similar, even if they have been resized, slightly edited, or saved in a different format.
- Deep Learning Comparison (ResNet): This uses a state-of-the-art neural network to analyze the actual content of your photos. It can identify duplicates even if they are taken from different angles or have different lighting conditions.
- Adjustable Threshold: You can fine-tune the sensitivity of the duplicate detection for each method.
- Multi-Select Deletion: Mark one or more photos from a duplicate group to delete them.
This tool is designed to specifically find and remove screenshots from your photo library. It uses an heuristic approach to identify screenshots based on their content:
- Filename Analysis: Instantly identifies files containing keywords like "screenshot".
- Content-Based Detection: For other files, it analyzes a combination of:
- Color Palette: Checks for the simple, limited color schemes typical of user interfaces.
- Edge Density: Looks for the high concentration of sharp, straight lines found in UIs and text.
- Aspect Ratio: Considers common screen aspect ratios as a contributing factor.
- Bulk Deletion: Mark all the screenshots you want to remove and delete them with a single click.
Follow these steps to run the application from the source code.
It is highly recommended to run the application in a virtual environment. Navigate to the pic_matcher_app directory and run:
python3 -m venv venvOn Linux or macOS:
source venv/bin/activateOn Windows:
.\venv\Scripts\activateInstall all the required libraries from the requirements.txt file:
pip install -r requirements.txtOnce the setup is complete, you can run the application with the following command:
python main.pyI built this app mainly for myself to quickly manage duplicate pictures. I don’t plan to maintain it regularly, but you might see occasional updates.
If you find it useful, feel free to contribute, ⭐ the project, and share it around!
