擅长:python、mysql、java
<p>如果对给定像素,而不是计算8个邻居的总数(=具有8个连通性的邻居)的数量,而是计算彼此不是4个邻居的8个邻居的数量,这可能会有帮助</p>
<p>所以在你的假阳性例子中</p>
<pre><code>0 0 0 1 1 0 0 1 1
1 1 1 0 1 0 1 1 0
0 0 1 0 0 1 0 0 0
</code></pre>
<p>对于每种情况,你有3个邻居,但每次,其中2个是4连通的。(下一个片段中标记为“2”的像素)</p>
^{pr2}$
<p>如果只考虑其中一个作为计数(而不是现在在代码中同时考虑这两个),则实际上只有2个新定义的“邻居”,并且考虑的点不被视为交点。
其他“真正的十字路口”仍将保留,如下所示</p>
<pre><code>0 1 0 0 1 0 0 1 0
1 1 1 0 1 0 1 1 0
0 0 0 1 0 1 0 0 1
</code></pre>
<p>仍然有3个新定义的邻居。在</p>
<p>我还没有检查过你的图片是否完美,但我已经为这个问题实施了类似的东西。。。在</p>