imagetools/README.md
Bastian 00b12580a3
Some checks failed
Linting / linting (push) Failing after 34s
Initial commit
2025-04-05 01:26:48 +02:00

81 lines
1.9 KiB
Markdown

# imagetools - image library structuring utilities
Imagetools is a set of tools to properly structure (large) image or video libraries.
It consists of two main functions:
1. Rename images sequentially based on image tags
2. Date images using a web interface
# Installation
There are two supported ways of installing/running imagetools: Using docker and
using `pip`/`pipx`.
## Docker
```sh
# Add necessary volumes to the container using the docker run -v option
docker run <image id> imagetools --help
```
## `pip`
```sh
git clone https://git.phntxx.com/bastian/imagetools
cd imagetools
pipx install .
imagetools --help
```
# Usage
Consider the following example of a directory structure for the following usage examples:
```
.
└── 2023, Rotterdam, Trip
├── party.jpg
├── food.jpg
└── central-station.jpg
```
For the purpose of this example, all image files do not have a capture date in their metadata (see [EXIF tags](https://exiftool.org/TagNames/EXIF.html)).
In order to properly sort these files, they should be dated first. So, let's start by dating them:
```sh
imagetools date dates.txt 2023,\ Rotterdam,\ Trip
```
This will start a web server located at `http://localhost:5000`, which will show the images in random order and allow for you to date them.
The dates entered in this process are then stored in `dates.txt`.
Next, these timestamps can be applied as EXIF tags to the images:
```sh
imagetools apply dates.txt
```
Finally, we can sequentially rename these files:
```sh
imagetools rename 2023,\ Rotterdam,\ Trip
```
This will leave us with the following directory structure:
```
.
├── dates.txt
└── 2023, Rotterdam, Trip
├── 001.jpg
├── 002.jpg
└── 003.jpg
```
At this point, `dates.txt` can be safely deleted.
# Contributing
If you want to contribute, just open a pull request.