12

Я ищу способ сравнить два изображения, чтобы увидеть, насколько они похожи. В Googling он производит тонны результатов обработки изображений (обрезка, повторная калибровка и т. Д.), Но ничего, что могло бы приблизить сравнение изображений. Существует одна библиотека Node.js, но она является версией 0.0.1 и опирается на различные сторонние системные пакеты, поэтому не стабильна и не переносима.Как сравнить два изображения с помощью Node.js

Что-то вдоль этих линий:

var imgComparator = require('some-awesome-image-comparator-module'); 
// result would be between 1.0 and 0.0, where 1.0 would mean exact match 
var result = imgComparator.compare('/path/to/image/1.png', '/path/to/image/2.png'); 

ответ

3

Я нашел эту библиотеку, которая может быть полезна для вас

https://github.com/HumbleSoftware/js-imagediff

+0

спасибо за ссылку, выглядит многообещающе. – SergeyB

+0

Пожалуйста, держите меня в курсе, потому что я еще не заработал это :). – Dan

+0

Есть пример того, как использовать lib в «bin/imagediff». Используйте сохраненную версию canvas-модуля как imagediff, самая новая кажется несовместимой. Прочтите руководство по установке холста и каира. Я застрял долгое время, потому что я пропустил, что мне нужно добавить папку в свою ПУТЬ. – luff

6

Существует также image-diff, который выглядит очень перспективным, это сделано Uber.

var imageDiff = require('image-diff') 

imageDiff({ 
    actualImage: 'checkerboard.png', 
    expectedImage: 'white.png' 
}, function (err, imagesAreSame) { 
    // error will be any errors that occurred 
    // imagesAreSame is a boolean whether the images were the same or not 
    // diffImage will have an image which highlights differences 
}) 
+2

Для этого требуется, чтобы изображения были идентичными? Я ищу, чтобы сравнить, если два изображения похожи. т.е.: то же фото того же здания, но немного другое, потому что его не то же фото. – chovy

+0

fwiw, image-diff - это тонкая обертка вокруг инструмента сравнения «imagemagick/graphicsmagick». – mrm

+0

Устаревшие в пользу [выглядит одинаково] (https://github.com/gemini-testing/looks-same) и [pixelmatch] (https://github.com/mapbox/pixelmatch). – krulik

Смежные вопросы