Безплатен Node.js API за сравнение на изображения
API с отворен код, базиран на Node.js, който сравнява изображения пиксел по пиксел. Мощно, гъвкаво и ефикасно решение за сравнение на изображения в приложения на Node.js.
Сравнението на изображения играе жизненоважна роля в разработката на софтуер, особено в области като тестване с визуална регресия, осигуряване на качеството на изображението и проверка на перфектния дизайн на пикселите. Независимо дали разработвате софтуер, за да осигурите последователен външен вид на потребителския интерфейс в множество платформи или автоматизирате визуални проверки в производствена линия, наличието на ефективен инструмент за сравнение на изображения е от съществено значение. LooksSame, API с отворен код, разработен от Gemini-Testing, опростява процеса на създаване на софтуер за сравнение на изображения със своите интуитивни функции. Има няколко важни функции, които са част от библиотеката, като сравнение на изображения пиксел по пиксел, откриване на антиалиасинг, конфигуриране на контрол на толеранса, обработка на размерите на изображението, поддръжка за Promises и много други.
LooksSame е базиран на Node.js API, предназначен за сравнение на изображения. Той позволява на разработчиците да сравняват изображения пиксел по пиксел, с опции за справяне с незначителни вариации, които могат да възникнат поради разлики в средите за изобразяване. Използвайки библиотеката, разработчиците на софтуер могат да създават свои собствени приложения, които откриват значителни визуални разлики, като същевременно игнорират тривиалните вариации. API е фокусиран основно върху подпомагането на разработчиците да поддържат последователност в дизайна на потребителския интерфейс, но неговата гъвкавост го прави подходящ за много други случаи на използване на сравнение на изображения. Със своя прост API и персонализирани опции, LooksSame е страхотно допълнение към инструментариума на всеки разработчик, особено за уеб базирано тестване на потребителски интерфейс, автоматизирано генериране на изображения и други сценарии, при които визуалната точност е от първостепенно значение.
Първи стъпки с LooksSame
Препоръчителният начин за инсталиране на LooksSame е използването на NPM. Моля, използвайте следната команда за гладка инсталация.
Инсталирайте LooksSame чрез NPM
npm install looks-same
Основно сравнение на изображения в приложения Node.js
Библиотеката LooksSame с отворен код улеснява разработчиците на софтуер да извършват основно сравнение на изображения в приложения Node.js. Веднъж инсталиран, можете да сравните две изображения, като изисквате модула LooksSame във вашия код. Ето един основен пример, който показва как да използвате библиотеката, за да проверите дали две изображения са визуално идентични: В този пример сравнява image1.png и image2.png. Ако са визуално еднакви, equal ще върне 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 на библиотеката помага да се избегнат тези фалшиви положителни резултати. Това е особено полезно за приложения, при които изображенията може да се изобразяват по различен начин на различни устройства или браузъри, но все пак визуално са еднакви.