Безкоштовний API Node.js для порівняння зображень

API із відкритим вихідним кодом на основі Node.js, який порівнює зображення піксель за пікселем. Потужне, гнучке та ефективне рішення для порівняння зображень у програмах Node.js.

Порівняння зображень відіграє важливу роль у розробці програмного забезпечення, особливо в таких сферах, як візуальне регресійне тестування, перевірка якості зображення та перевірка ідеального дизайну. Незалежно від того, розробляєте ви програмне забезпечення для забезпечення узгодженого вигляду інтерфейсу користувача на кількох платформах або автоматизуєте візуальні перевірки в процесі виробництва, мати ефективний інструмент порівняння зображень є важливим. LooksSame, API з відкритим вихідним кодом, розроблений Gemini-Testing, спрощує процес створення програмного забезпечення для порівняння зображень за допомогою інтуїтивно зрозумілих функцій. У бібліотеці є кілька важливих функцій, таких як порівняння зображень пікселів за пікселями, виявлення згладжування, налаштування контролю допусків, обробка розмірів зображення, підтримка Promises та багато іншого.

LooksSame — це API на основі Node.js, призначений для порівняння зображень. Це дозволяє розробникам порівнювати зображення піксель за пікселем, з опціями обробки незначних варіацій, які можуть виникнути через відмінності в середовищах візуалізації. Використовуючи бібліотеку, розробники програмного забезпечення можуть створювати власні програми, які виявляють значні візуальні відмінності, ігноруючи тривіальні варіації. API головним чином зосереджений на тому, щоб допомогти розробникам підтримувати узгодженість дизайну інтерфейсу користувача, але його універсальність робить його придатним для багатьох інших випадків порівняння зображень. Завдяки своєму простому API та параметрам, які можна налаштувати, LooksSame є чудовим доповненням до інструментарію будь-якого розробника, особливо для веб-тестування інтерфейсу користувача, автоматичного створення зображень та інших сценаріїв, де візуальна точність має першорядне значення.

Previous Next

Початок роботи з LooksSame

Рекомендований спосіб встановлення LooksSame — використання NPM. Будь ласка, використовуйте наступну команду для плавного встановлення.

Установіть LooksSame через NPM

npm install looks-same

Базове порівняння зображень у програмах Node.js

Бібліотека LooksSame з відкритим кодом спрощує розробникам програмного забезпечення виконувати базове порівняння зображень у програмах Node.js. Після встановлення ви можете порівнювати два зображення, вимагаючи модуля LooksSame у своєму коді. Ось базовий приклад, який показує, як використовувати бібліотеку для перевірки візуальної ідентичності двох зображень: у цьому прикладі порівнюються image1.png і image2.png. Якщо вони візуально однакові, equity поверне true; інакше повертає false.

Як порівняти два зображення в програмах Node.js?

const looksSame = require('looks-same');

// Compare two images
looksSame('image1.png', 'image2.png', (error, { equal }) => {
    if (error) {
        console.error('Error comparing images:', error);
    } else if (equal) {
        console.log('Images are identical!');
    } else {
        console.log('Images differ!');
    }
});

Порівняння зображень на основі толерантності

Для програм, які не вимагають ідеальних піксельних збігів, розробники програмного забезпечення можуть додати рівень допуску. Це дозволяє ігнорувати невеликі відмінності між зображеннями, такі як зміни внаслідок відтворення в різних браузерах або операційних системах. У наведеному нижче прикладі коду допустиме відхилення встановлено на 5%, що означає, що невеликі варіації пікселів (до 5%) не призведуть до того, що зображення будуть вважатися різними.

Як виконати порівняння зображень на основі допусків у програмах Node.js?

cfunction compareWithTolerance(image1, image2, toleranceLevel) {
    looksSame(image1, image2, { tolerance: toleranceLevel }, (error, { equal }) => {
        if (error) {
            console.error('Error comparing images:', error);
        } else if (equal) {
            console.log('Images are visually identical within tolerance!');
        } else {
            console.log('Images differ!');
        }
    });
}

// Usage
compareWithTolerance('image1.png', 'image2.png', 5);  // 5% tolerance

Виділення конкретних відмінностей

Для більш складних програм розробники програмного забезпечення можуть виявити й проаналізувати лише певні відмінності. Бібліотека LooksSame надає функцію обмежувальної рамки, яка показує точну область, де виникають відмінності. Ця функція виводить координати обмежувальної рамки різних областей, що полегшує фокусування на певних частинах зображення, які змінилися. У наступному прикладі показано, як використовувати координати обмежувальної рамки для порівняння зображень і виділення відмінностей.

Як порівняти та визначити відмінності між окремими областями зображень за допомогою програм Node.js?

function compareWithDiffBounds(image1, image2) {
    looksSame(image1, image2, (error, { diffBounds }) => {
        if (error) {
            console.error('Error comparing images:', error);
        } else {
            console.log('Bounding box of differences:', diffBounds);
        }
    });
}

// Usage
compareWithDiffBounds('image1.png', 'image2.png');

Виявлення згладжування для точних порівнянь

Бібліотека LooksSame з відкритим кодом дозволяє розробникам програмного забезпечення виконувати стиснення зображень за допомогою методу виявлення згладжування в програмах Node.js. Згладжування може призвести до хибних спрацьовувань під час порівняння зображень, оскільки воно вносить незначні варіації у відтворення країв. Параметр ignoreAntialiasing бібліотеки допомагає уникнути цих помилкових спрацьовувань. Це особливо корисно для додатків, де зображення можуть відображатися по-різному на різних пристроях або веб-переглядачах, але візуально однакові.

 Українська