我需要用PHP检测图片中的“星形”图案,同时“星形”图案不固定,下次可能在其他位置。我不能使用任何外部软件或库。我尝试了所有方法,例如边缘检测和灰度处理,但都无济于事。这是图片: 主要问题在于我无法清除背景。如果能清除图片背景,则可以按行和列读取所有像素颜色并检测。请帮帮我。这是经过亮度过滤和边缘检测后的图片:
针对这张图片,建议进行少量的低通滤波(高斯模糊)以减弱那些线条。这应该能够奏效,因为细线在其转换处具有高频率。然后您可以尝试增加对比度和亮度。我刚刚进行了一个快速测试,结果如下所示 然后只需计算您的结果图像与不同星星图像的互相关。
如果星星本身没有被缩放或旋转,那么您应该能够通过干净的星图像与源图像的2D卷积来检测到它。如果您尝试查找具有不同比例和旋转的星星,则最好使用侵蚀滤波器清理图像,然后使用边缘检测和Hough变换来查找边缘。