https://github.com/qwertyforce/scenery
photo gallery with extended search capabilities
https://github.com/qwertyforce/scenery
photo-gallery reverse-image-search similarity-search
Last synced: 2 months ago
JSON representation
photo gallery with extended search capabilities
- Host: GitHub
- URL: https://github.com/qwertyforce/scenery
- Owner: qwertyforce
- License: agpl-3.0
- Created: 2020-08-27T13:18:32.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-09T11:18:12.000Z (about 2 years ago)
- Last Synced: 2023-09-09T12:28:53.629Z (about 2 years ago)
- Topics: photo-gallery, reverse-image-search, similarity-search
- Language: TypeScript
- Homepage: https://scenery.cx
- Size: 8.18 MB
- Stars: 56
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scenery
a photo gallery with extended search capabilities
https://scenery.cx
Consists of [scenery](https://github.com/qwertyforce/scenery/) (photo gallery engine) and [ambience](https://github.com/qwertyforce/ambience/) (Reverse image search/similarity search engine)How it works: [how_it_works_scenery.md](https://github.com/qwertyforce/scenery/blob/master/how_it_works_scenery.md)
## Features
- Search by tags (supports logical expressions, https://scenery.cx/search_syntax)
- Semantic text search (find images by text description)
- You can find images with similar tags, color pallete or visuals/semantics
- Reverse image search (find images by image)
- Image anti-duplication mechanism
- Automatic image tagging and captioning
- IPFS support (using [additional microservice](https://github.com/qwertyforce/crud_file_server))
- Automatic image mining ([anti_sus](https://github.com/qwertyforce/anti_sus))## Current stack:
- Node.js + TypeScript
- [ambience](https://github.com/qwertyforce/ambience)
- Fastify
- MongoDB
- Next.js
- MUI
- sharp## Installation
[./installation_guide.md](./installation_guide.md)## Docs
```npm run build``` -> build everything
```npm run build_pages``` -> build next.js pages and some of backend code
```npm run build_server``` -> build .ts files
```npm run import_tags``` -> import tags from /import/id_tags.txt (generated by places365_tagger_web)
```npm run import_captions``` -> import captions from /import/id_caption.txt (generated by image_caption_web)
```npm run import_images``` -> import images
args:
--path=/path/to/image_folder -> imports images from the path, if not specified, default path - /import/images/
--use_filename_id -> parses image id from file (file name must be an unique number > 0), if not specified, uses sequential ids
--bypass_ambience -> do not perform calculation of tags,captions, ambience features and duplicate check