Просмотр документации этих двух узловых пакетов:
https://github.com/aheckmann/gm
https://github.com/rsms/node-imagemagick
пытается выяснить, возможно ли сгенерировать перцептуальный хэш изображения, используя его.
Я уже использую эти пакеты в своем проекте, поэтому было бы неплохо найти хэш-функциональность вместо добавления дополнительного пакета, такого как Jimp.
Любая помощь высоко ценится!
РЕДАКТИРОВАТЬ 1:
Так что, посмотрев все ссылки и предложения от вас, ребята, я попробовал следовать
gm()
.command("convert")
.in("testImage.jpeg")
.in("-verbose")
.in("-moments")
.write( "testOutput.json", function (err) {
if (!err) {
console.log("DONE :)");
}
else {
console.log("ERROR :(");
console.log(err);
}
});
Это дает мне этот огромный вывод, но интересующая меня часть находится здесь:
"channelPerceptualHash": {
"colorspaces": [ "sRGB", "HCLp"],
"Channel0": {
"PH1": [0.514487, 11],
"PH2": [3.46339, 11],
"PH3": [4.96178, 11],
"PH4": [5.09255, 11],
"PH5": [10.2783, 11],
"PH6": [7.0728, 11],
"PH7": [10.2625, 11]
},
"Channel1": {
"PH1": [0.514487, 11],
"PH2": [3.46339, 11],
"PH3": [4.96178, 11],
"PH4": [5.09255, 11],
"PH5": [10.2783, 11],
"PH6": [7.0728, 11],
"PH7": [10.2625, 11]
},
"Channel2": {
"PH1": [0.514487, 0.514487],
"PH2": [3.46339, 3.46339],
"PH3": [4.96178, 4.96178],
"PH4": [5.09255, 5.09255],
"PH5": [10.2783, 10.2783],
"PH6": [7.0728, 7.0728],
"PH7": [10.2625, 10.2625]
}
},
"renderingIntent": "Perceptual"
По этой теме http://www.imagemagick.org/discourse-server/viewtopic.php?t=30258
Если я не ошибаюсь, я могу сравнить эти значения PH, чтобы определить, является ли изображение тем же или нет.