我正在尝试提出一种算法来区分水和陆地。我有一个 2D 数组,它只包含 0(黑色方块)和 1(灰色方块),这会产生这个图像。我将其中一个水域涂成蓝色,这样你就可以看到应该是水的地方。水是大而圆形的区域。我将一些土地区域涂成绿色。所有的黑色直线都应该是陆地以及一些较小的圆形。
现在,所有的黑色区域都表示为 0,所有的灰色区域都表示为 1。所以在图片中,绿色和蓝色的点都表示为同一个东西。我需要将一些黑色区域(水)表示为 2。有什么好方法可以做到这一点?到目前为止,我想出的最好的办法是计算每个黑点的面积,并且只允许高于某个阈值的区域是水。我认为有更好的方法,我想知道你们的想法。