mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
69 lines
4.0 KiB
Markdown
69 lines
4.0 KiB
Markdown
---
|
|
description: "Порівнюйте два зображення поруч з візуалізацією попіксельної різниці та оцінкою подібності."
|
|
i18n_source_hash: cc0a02bd75c6
|
|
i18n_provenance: human
|
|
i18n_output_hash: fcb1ee65050b
|
|
---
|
|
|
|
# Image Compare {#image-compare}
|
|
|
|
Завантажте два зображення, щоб обчислити мапу попіксельної різниці та числовий відсоток подібності. Результатом є зображення різниці, що виділяє змінені області червоним кольором.
|
|
|
|
## API Endpoint {#api-endpoint}
|
|
|
|
`POST /api/v1/tools/image/compare`
|
|
|
|
Приймає дані форми multipart із **двома** файлами зображень. Поле налаштувань не потрібне.
|
|
|
|
## Parameters {#parameters}
|
|
|
|
Цей інструмент не має налаштовуваних параметрів. Завантажте рівно два файли зображень.
|
|
|
|
| Field | Type | Required | Description |
|
|
|-------|------|----------|-------------|
|
|
| file (first) | file | Yes | Перше зображення |
|
|
| file (second) | file | Yes | Друге зображення |
|
|
|
|
## Example Request {#example-request}
|
|
|
|
```bash
|
|
curl -X POST http://localhost:1349/api/v1/tools/image/compare \
|
|
-H "Authorization: Bearer si_your-api-key" \
|
|
-F "file=@original.jpg" \
|
|
-F "file=@modified.jpg"
|
|
```
|
|
|
|
## Example Response {#example-response}
|
|
|
|
```json
|
|
{
|
|
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
|
"similarity": 94.52,
|
|
"dimensions": { "width": 1920, "height": 1080 },
|
|
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/diff.png",
|
|
"originalSize": 4900000,
|
|
"processedSize": 280000
|
|
}
|
|
```
|
|
|
|
## Response Fields {#response-fields}
|
|
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| jobId | string | Ідентифікатор завдання для завантаження зображення різниці |
|
|
| similarity | number | Відсоток подібності між двома зображеннями (від 0 до 100) |
|
|
| dimensions | object | Ширина та висота, використані для порівняння |
|
|
| downloadUrl | string | URL для завантаження згенерованого зображення різниці |
|
|
| originalSize | number | Сумарний розмір обох вхідних зображень у байтах |
|
|
| processedSize | number | Розмір вихідного зображення різниці в байтах |
|
|
|
|
## Notes {#notes}
|
|
|
|
- Обидва зображення масштабуються до однакових розмірів (максимум по кожній осі) перед порівнянням.
|
|
- Зображення різниці виділяє відмінності червоним кольором із непрозорістю, пропорційною величині зміни. Ідентичні або майже ідентичні пікселі (різниця < 10) показуються як напівпрозорі версії оригіналу.
|
|
- Подібність обчислюється як обернена величина до середньої попіксельної різниці за всіма пікселями, виражена у відсотках.
|
|
- Подібність 100% означає, що зображення попіксельно ідентичні (за роздільної здатності порівняння).
|
|
- Вивід різниці завжди у форматі PNG незалежно від вхідних форматів.
|
|
- Обидва зображення перевіряються та декодуються (підтримуються HEIC, RAW, PSD, SVG) перед порівнянням.
|
|
- Орієнтація EXIF автоматично застосовується до обох зображень перед обробкою.
|