我最近想为PHP图像库完成此任务。我希望能够为上载的图像生成“模糊”指纹,并检查数据库中所有具有相同指纹的图像(表明它们相似),然后更紧密地比较它们以确定相似程度。
我通过将上传的图像调整为150像素宽,将其缩小为灰度,将每种颜色的值四舍五入到16的最接近的倍数(给出了0至255之间的17种可能的灰色阴影),对其进行归一化并将其存储在其中来完成此 *** 作。一个数组,从而创建“模糊”颜色直方图,然后创建直方图的md5sum,然后可以在数据库中进行搜索。这对于缩小与上传文件在视觉上非常相似的图像非常有效。
然后,将上传的文件与数据库中的每个“相似”图像进行比较,我拍摄了两个图像,将它们调整为16x16的大小,然后逐像素分析它们,并从每个像素的RGB值中减去了对应像素的值。其他图像,将所有值加在一起并除以像素数即可得出平均颜色偏差。小于特定值的任何值都被确定为重复项。
整个过程都是使用GD模块以PHP编写的,与数千张图像的比较每个上传的文件仅需几百毫秒。
我的代码和方法在这里:http :
//www.catpa.ws/php-duplicate-image-finder/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)