我必须使用php检测图像中的“星形”形状。此时星星不固定,下次可能处于其他位置。我不能使用任何外部软件或库。我尝试过所有方法,如边缘检测和灰度,但都是徒劳的。这是图像:
主要问题是我无法清除背景。如果图像背景被清除,我可以读取所有像素颜色的行,以及列方式和检测。请帮助我。这是在brightness_filter和边缘检测之后的图像。
答案 0 :(得分:3)
对于此特定图像,建议执行少量低通滤波(高斯模糊)以衰减这些线。这应该有效,因为细线在其过渡时具有高频率。然后你可以尝试增加对比度和亮度。
我刚刚进行了快速测试,结果类似于
然后计算得到的图像与不同恒星图像的互相关性。
答案 1 :(得分:1)
如果星形本身未缩放或旋转,那么您应该能够通过源图像的干净星形图像的2D卷积来检测它。
如果您正在尝试查找具有不同比例和旋转的星星,那么使用侵蚀滤镜清理图像可能会更好,然后使用边缘检测和Hough transform来查找边缘。