php - 识别图形中图案的位置

时间:2012-02-25 04:11:48

标签: php image image-processing pattern-matching

我正在做一些研究,看看能否通过识别特定模式/对象的位置来编写能够处理图像的php,然后输出对象的xy像素位置。

该项目将用于处理a的地图,其中所有地图都是使用相同的流程生成的,并且座位的图标在每种情况下都保持不变(包括相同的尺寸 - 16x17像素)。

典型的地图看起来像http://s140173.gridserver.com/so/map.gif

......显然,个人图标看起来像http://s140173.gridserver.com/so/icon.gif

我打算循环某种'搜索'脚本找到第一个'图标',将图标的xy位置添加到数组中,然后将图标黑掉/扭曲(使用图像功能在内存中)并重复搜索以再次找到“第一个图标”(因为原来不会因为它被扭曲而不匹配) - 但我不确定任何具有以这种方式匹配图形的类/功能/扩展。

有关如何完成此模式匹配的任何想法?是否有任何能够执行此操作的库或扩展?如果没有,任何人都可以建议另一个可能合适的平台吗?

干杯。

1 个答案:

答案 0 :(得分:1)

使用GD这将是非常缓慢和低效的,但假设图标大小相同,您可以轻松地遍历图像并继续比较该大小的每个可能的矩形,直到找到匹配。这只是两个for循环,使用imagecolorat获取颜色,并将这些矩形与目标进行比较,有许多简单的方法可以实现。但我不建议这样做,因为找到每个小目标需要几秒钟。

您可能希望查看可以对图像进行此类智能分析的OpenCV,但使用起来非常复杂。这将是更好的方法,但它不是PHP,并且可能对你的目的而言是过度的。