如何用PHP检测图像中的形状?

时间:2013-10-17 13:17:56

标签: php image gd

我必须使用php检测图像中的“星形”形状。此时星星不固定,下次可能处于其他位置。我不能使用任何外部软件或库。我尝试过所有方法,如边缘检测和灰度,但都是徒劳的。这是图像:enter image description here

主要问题是我无法清除背景。如果图像背景被清除,我可以读取所有像素颜色的行,以及列方式和检测。请帮助我。这是在brightness_filter和边缘检测之后的图像。 enter image description here

2 个答案:

答案 0 :(得分:3)

对于此特定图像,建议执行少量低通滤波(高斯模糊)以衰减这些线。这应该有效,因为细线在其过渡时具有高频率。然后你可以尝试增加对比度和亮度。

我刚刚进行了快速测试,结果类似于enter image description here

然后计算得到的图像与不同恒星图像的互相关性。

答案 1 :(得分:1)

如果星形本身未缩放或旋转,那么您应该能够通过源图像的干净星形图像的2D卷积来检测它。

如果您正在尝试查找具有不同比例和旋转的星星,那么使用侵蚀滤镜清理图像可能会更好,然后使用边缘检测和Hough transform来查找边缘。