Как сравнить два изображения с помощью узла.Яш

Я ищу способ, чтобы сравнить два изображения, чтобы увидеть, насколько они похожи. Погуглил она производит тонны результатов обработки изображений (обрезка, изменение размера и т. д.), но ничего, что сделало бы приблизительные сравнения изображений. Есть один узел.библиотека js, но это версия 0.0.1 и опирается на различные сторонние системные пакеты, поэтому не стабильна или портативна.

что-то в этом роде:

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 ответов


здесь узел-opencv модуль, вы можете использовать его для выполнения тяжелых операций, таких как сравнение изображений. Хорошая тема для этого здесь:простой и быстрый метод сравнения изображений для сходства


появилась изображение-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
})

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

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