@PublisherKing said in Не получается загрузить скрипт (python):
Или имеется виду вызов функций?
Из питона можно только функции бас запускать. Из бас питон нельзя
Всем привет товарищи. В общем вторые сутки мучаюсь, хочу установить модуль перцептивный хэш для изображения, выбор пал на https://www.npmjs.com/package/phash-js.
Что я сделал:
var pHash = require('phash-js');
var image = '[[PROJECT_DIRECTORY]]/123.jpg';
pHash.hash(image).then(hash => {
console.log(hash.toBinary()) // 1011010111010110010100100000101100101011001011110011110111110111
console.log(hash.toHex()) // b5d6520b2b2f4000
console.log(hash.toInt()) // 13102750373803672000
})
Однако, увы и ах, но не работает. В логах пишет мне "ReferenceError: Worker is not defined", кто разбирается подскажите пожалуйста как правильно подключить данный модуль... А то действительно, уже сдался)
@GippeR said in Не работает npm модуль (скрипт):
var image = '[[PROJECT_DIRECTORY]]/123.jpg';
Не берусь утверждать, но почему у вас весь путь к картинке в кавычках?
var image = '[[PROJECT_DIRECTORY]]/123.jpg';
в таком случае реального пути не будет, должно быть по идее так
var image = [[PROJECT_DIRECTORY]]+'/'+'123.jpg';
@UserTrue said in Не работает npm модуль (скрипт):
Jimp
Посмотрел, да... там можно ресайзить и так далее, но там целый скрипт надо будет писать для хеширования, я нуб в этом... Мне бы готовый вариант, чтобы пару строчек исправить и в путь. Или я наивен и таких скриптов в природе не существует?
@GippeR Да там все уже написано https://github.com/oliver-moran/jimp/tree/master/packages/jimp#comparing-images
Нашел вот этот https://www.npmjs.com/package/imghash, работает, но с файлами которые в корневой директории скрипта.... Не очень удобно, как можно дописать или переделать, чтобы он работал с картинками в формате base64...?
Подскажите пожалуйста... Вот фрагмент кода, который работает и создает кеш для картинки
const hash1 = await imghash.hash([[PROJECT_DIRECTORY]]+'/'+'original.jpg', 8, "binary");
Однако, у меня изображения будут в base64 формата.... Как мне правильно написать, чтобы скрипт обрабатывал base64 изображения? И делал для них хеш. Просто качать картинки на сервер геморойно... Или это невозможно?
@UserTrue Спасибо большое за помощь, с этим я разобрался.... Правда и методом тыка, все-таки вернулся к вашей рекомендации по использованию модуля jimp... Но я до сих пор не допер, как мне создать хеш для картинки, пробовал такой вариант
Jimp.read(image)
.then(image_user => {
return image_user
.hash(8)
.write('тест.txt');
});
Тут понятно, он ничего не сохраняет... Но и ощибок модуль не выдает, значит хеш создает, но вот как его взять... Вывести в ту же переменную, вот здесь я застрял...
Тут такое дело, а как посчитать среднее значение цвета пикселя, и если оно меньше 50%, то делаем его белым.... В идеале хочу вот так картинку преобразовывать http://joxi.ru/BA0egnef1ZwaYr
На данный момент, я сделал 3 пункта, но с 4 не знаю как написать код... Помогите пожалуйста.
@GippeR если я правильно вас понял то вам нужен метод threshold https://github.com/oliver-moran/jimp/tree/master/packages/plugin-threshold