The Puzzle library is designed to quickly find visually similar images (gif, png, jpg), even if they have been resized, recompressed, recolored or slightly modified. The library is free, lightweight yet very fast, configurable, easy to use and it has been designed with security in mind.
采用libpuzzle扩展库,可以非常赞的比较两张图片的相似度。
安装
ubuntu 下:sudo apt-get install libpuzzle-php即可
当然可以按照传统的扩展php的方法进行安装,源码下载
运用实例
可用函数及其功能:
1. $signature=puzzle_fill_cvec_from_file($image_filename); // get the signature of a picture, 其实就是拿到一个图片的信息签名;
2. $d = puzzle_vector_normalized_distance($signature1, $signature2); //根据各自的签名信息,通过比较获得之间的差距,从而衡量二者的相似度
3. $compressed_signature = puzzle_compress_cvec($signature); //获取压缩状态下的签名,减小数据库存储
4. $signature = puzzle_uncompress_cvec($compressed_signature); //用时,解压缩
threshold阈值常量:
PUZZLE_CVEC_SIMILARITY_THRESHOLD==0.6;
PUZZLE_CVEC_SIMILARITY_HIGH_THRESHOLD==0.7;
PUZZLE_CVEC_SIMILARITY_LOW_THRESHOLD==0.3;
PUZZLE_CVEC_SIMILARITY_LOWER_THRESHOLD==0.2
当$d低于阈值是我们才认为图片间是相类似的。如下:
<?
if ($d < PUZZLE_CVEC_SIMILARITY_THRESHOLD) {
echo "Pictures look similar\n";
}else{
echo "Pictures are different, distance=$d\n";
}
?>
分享到:
相关推荐
按照传统的扩展php的方法进行安装1. $signature=puzzle_fill_cvec_from_file($image_filename); // get the signature of a picture, 其实就是拿到一个图片的信息签名; 2. $d = puzzle_vector_normalized_distance...
ErlPuzzle - Erlang 的 libpuzzle NIF Puzzle 库旨在快速找到视觉上相似的图像(gif、png、jpg),即使它们已被调整大小、重新压缩、重新着色或稍微修改。 该库是免费的、轻量级的但非常快速、可配置、易于使用,...
2024-2030全球及中国PCB接触式探头行业研究及十五五规划分析报告
网站界面设计mortal0418代码
PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可
2024年神经酸行业分析报告.pptx
【Java爬虫】信息抓取的实现 完整实例(源码)
rain-drop.PNG
FEDformer.pdf
基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资
完整代码!扫雷游戏,vs2010使用vs2010开发小游戏,这是一个扫雷的游戏,适应于大作业和毕业论文.zip
JDK 8 0 apidoc 带完整索引和目录
可以进行模拟银行服务,有多种功能。
校园共享单车管理系统 软件工程做的课程设计,里面是JSP源码,后台连接数据库,可直接调试运行成功。
去水印版,aspose.words-19.7-jdk17.jar、aspose-words-19.7.pom
NKUcs22级机器学习实验全套代码于此,希望造福学弟学妹。
springboot校园医疗保险管理系统
QPSK的锁相环程序,在MATLAB环境下编写的,用来进行QPSK通信系统的仿真和实际信号载波同步的提取
stm32项目知识领域: 网络安全 技术关键词: 漏洞分析、渗透测试、加密算法 内容关键词: 攻击防范、身份验证、网络流量分析 用途: 学习保护信息系统免受恶意攻击和数据泄露 资源描述: "OWASP官方网站"提供了全面的网络安全知识和工具,包括常见漏洞、安全指南和最佳实践。
springboot时间管理系统 系统实现了首页,个人中心,系统公告管理,用户管理,时间分类管理,事件数据管理,目标数据管理,用户日记管理等功能。 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7+ 框架:ssm、Springboot 前端:Vue、ElementUI 关键技术:springboot、SSM、vue、MYSQL、MAVEN 数据库工具:Navicat、SQLyog