Бесплатный API Node.js для сравнения изображений
API с открытым исходным кодом на базе Node.js, сравнивающее изображения попиксельно. Мощное, гибкое и эффективное решение для сравнения изображений в приложениях Node.js.
Сравнение изображений играет важную роль в разработке программного обеспечения, особенно в таких областях, как визуальное регрессионное тестирование, обеспечение качества изображений и верификация дизайна с точностью до пикселя. Независимо от того, разрабатываете ли вы программное обеспечение для обеспечения единообразного внешнего вида пользовательского интерфейса на нескольких платформах или автоматизируете визуальные проверки в производственном конвейере, наличие эффективного инструмента сравнения изображений имеет важное значение. LooksSame, API с открытым исходным кодом, разработанный Gemini-Testing, упрощает процесс создания программного обеспечения для сравнения изображений с помощью своих интуитивно понятных функций. В состав библиотеки входит несколько важных функций, таких как сравнение изображений попиксельно, обнаружение сглаживания, настройка контроля допусков, обработка размеров изображений, поддержка Promises и многое другое.
LooksSame — это API на основе Node.js, разработанный для сравнения изображений. Он позволяет разработчикам сравнивать изображения попиксельно с возможностью обработки незначительных изменений, которые могут возникнуть из-за различий в средах рендеринга. Используя библиотеку, разработчики программного обеспечения могут создавать собственные приложения, которые обнаруживают значительные визуальные различия, игнорируя тривиальные изменения. 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 помогает избежать этих ложных срабатываний. Это особенно полезно для приложений, в которых изображения могут отображаться по-разному на разных устройствах или в разных браузерах, но визуально они остаются одинаковыми.