У меня есть 20 изображений JPG:
Мне нужно обнаружить это 10 похожих изображений:
Я пытался использовать Перцепционная реализация хеша для PHP с кодом выше:
<?php
$scandir = array_values(array_diff(scandir("images"), array(".", "..", ".DS_Store")));
natsort($scandir);
include('phash.php');
foreach ($scandir as $key => $value){
$phasher = new Phash;
$phash2 = $phasher->getHash("image-fragment-to-compare.jpg", false);
echo $phasher->hashAsString($phash2, false).PHP_EOL;
echo $phasher->hashAsString($phash2).PHP_EOL;
$phash3 = $phasher->getHash("images/$value", false);
echo $phasher->hashAsString($phash3, false).PHP_EOL;
echo $phasher->hashAsString($phash3).PHP_EOL;
$compare = $phasher->getSimilarity($phash2, $phash3);
echo "compare image-fragment-to-compare.jpg with images/$value = $compare \n";
}
?>
Я пытался использовать разные image-fragment-to-compare.jpg
фрагменты, такие как фрагмент «клавиатуры», фрагмент «молнии», серый фон. Обнаруживает неплохо, но не идеально. Есть ли какие-то другие идеи для PHP, которые могут определять эти изображения более точно?
Задача ещё не решена.
Других решений пока нет …