从一个图像预处理工具,我得到一个0和1的序列,其中1表示预处理工具已经找到了我要找的东西。在一个理想的世界中,这看起来是这样的:
00000000000000001111111000000000000000000
我现在需要找到1的“中间”位置,即。
00000000000000000001000000000000000000000
这将相当简单(遍历列表,获得到1的转换和到0的转换,并从这两个位置计算中间。
不过,这里有点棘手:
序列通常看起来更像:
0000100001000101000100000011110110111100000000001000101000000
即。有大量的“噪音”。
我想我可以假设,任何“单独的”1或“单独的”0都可能是噪声并翻转它,但我想知道是否有一种更优雅和更稳健的方法来在随机序列中找到“最可能的1的簇”?
你可以取一个序列的正向和反向和。两个级数相等的地方将是你的中间。在本例中,两个序列在索引30处都等于9。