php - 与php + gd的图像对比

标签 php image image-processing gd similarity

用 php 和 Graphic Draw (GD) Library 比较两个图像的最佳方法是什么? ?

这是场景:

alt text

我有一张图片,我想找出给定集合中的哪张图片与它最相似。 最相似的图片其实就是同一张图片,不是像素完美匹配而是同一张图片。 为了便于理解我的意思,我用示例中的第一张图片夸大了两张图片之间的差异。

尽管没有带来一致的结果,我的方法是使用 imagecopyresampled 将图像缩小到 1px函数并查看图像之间的 RGB 值有多接近。

从可能匹配的红色、绿色和蓝色十进制当量值中减去每个红色、绿色和蓝色十进制当量值的总和给了我一个差异指数,即使它没有按预期工作,因为并不总是 RGB 最相似的图像是目标图像,我可以用来从可用目标中选择图像。

这是将 4 张图像与目标图像进行比较时的输出示例,在本例中为苹果 Logo ,与其中一张图像匹配但不完全相同:

原图:

红:222 绿:226 蓝:232

对比:

http://a1.twimg.com/profile_images/571171388/logo-twitter_normal.png 红色:183 绿色:212 蓝色:212 相似度指数为 56

红色:117 绿色:028 蓝色:028 相异指数530

红色:218 绿色:221 蓝色:221 和差异指数 13 正确匹配。

红色:061 绿色:063 蓝色:063 相异指数491

可能甚至没有更好的结果比我已经得到的更好,我在这里浪费我的时间但是因为似乎有很多经验丰富的 php 程序员我想你可以为我指明正确的方向如何改进这一点。

我对其他图像库开放,例如 iMagick , GmagickCairo对于 php,但我宁愿避免使用 php 以外的其他语言。

提前致谢。

最佳答案

我原以为您的方法似乎是合理的,但将整个图像的大小缩小到 1x1 像素可能有点过头了。

但是,如果您将每个图像转换为相同大小,然后计算每个 16x16(或 32x32、64x64 等,具体取决于您希望使用多少处理时间/功率)单元格的平均颜色,您应该能够形成某种明智的(-ish)比较。

关于php - 与php + gd的图像对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037205/

相关文章:

php - 更快的 PHP XSL 处理器

java - Android - 调整可缩放 ImageView 顶部的 ImageView 位置

python - Python 中的广义距离变换

c++ - OpenCV中的段错误

php - 如何为 php 应用程序创建 SCORM 内容

php - Laravel 关系递归

javascript - 仅在需要时拉伸(stretch)图像最多 20%

r - 为什么我在 Shiny 应用程序上的图像崩溃了?

c++ - 检测器、提取器和匹配器的分类

javascript - 如何在不使用选择器刷新网页的情况下导航到其他网站或网页?