gpt4 book ai didi

algorithm - 检测两个图像在视觉上是否相同

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:47 26 4
gpt4 key购买 nike

有时两个图像文件在文件级别上可能不同,但人们会认为它们在感知上是相同的。鉴于此,现在假设您有一个庞大的图像数据库,并且您想知道人们是否会认为某个图像 X 存在于数据库中。如果所有图像都有一个感知哈希/指纹,那么可以对图像 X 进行哈希处理,然后查看它是否在数据库中将是一件简单的事情。

我知道有人围绕这个问题进行了研究,并且存在一些算法,但是是否有任何工具,例如 UNIX 命令行工具或库,我可以用来计算这样的哈希值,而无需从头开始实现某些算法?

编辑:来自findimagedupes的相关代码,使用ImageMagick

try $image->Sample("160x160!");
try $image->Modulate(saturation=>-100);
try $image->Blur(radius=>3,sigma=>99);
try $image->Normalize();
try $image->Equalize();
try $image->Sample("16x16");
try $image->Threshold();
try $image->Set(magick=>'mono');
($blob) = $image->ImageToBlob();

编辑:警告! ImageMagick $image 对象似乎包含有关读入的图像文件的创建时间的信息。这意味着即使是相同的图像,您获得的 blob 也会不同,如果它是在不同的时间检索到的。为确保指纹保持不变,请使用 $image->getImageSignature() 作为最后一步。

最佳答案

findimagedupes很不错。例如,您可以运行“findimagedupes -v fingerprint images”让它打印“perceptive hash”。

关于algorithm - 检测两个图像在视觉上是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/336067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com