如何使Marching Squares在找到第一个轮廓后继续进行?
我正在处理的图像中的轮廓将经常发生变化,因为我处于嵌入式环境(Android / iOS),因此最重要的是希望有快速的性能解决方案。使用外部库不是一个选择。
我尝试过连接组件标记,但从未使其正常工作,因为我有一张PNG图片,它不是黑白的(没有经过阈值化处理),如果我没弄错,CCL仅适用于黑白(二进制)图像。
我考虑将blob信息保存到另一个向量中,并检查新发现的像素是否落在早期发现的blob内,但我认为这不够快,因为向量被填充了越来越多的blob,检查向量内的每个blob变得越来越昂贵。
这让我陷入了我的当前方法,即擦除我发现的轮廓并重复直到没有任何东西?但这是我目前使用的方法,似乎也很昂贵。
如果没有快速的解决方案,那么可以有人建议不同的方法...即使这意味着不同的算法。
Mark1:我选择Marching Squares,因为我只需要轮廓的轮廓,即使其中有孔。
我正在处理的图像中的轮廓将经常发生变化,因为我处于嵌入式环境(Android / iOS),因此最重要的是希望有快速的性能解决方案。使用外部库不是一个选择。
我尝试过连接组件标记,但从未使其正常工作,因为我有一张PNG图片,它不是黑白的(没有经过阈值化处理),如果我没弄错,CCL仅适用于黑白(二进制)图像。
我考虑将blob信息保存到另一个向量中,并检查新发现的像素是否落在早期发现的blob内,但我认为这不够快,因为向量被填充了越来越多的blob,检查向量内的每个blob变得越来越昂贵。
这让我陷入了我的当前方法,即擦除我发现的轮廓并重复直到没有任何东西?但这是我目前使用的方法,似乎也很昂贵。
如果没有快速的解决方案,那么可以有人建议不同的方法...即使这意味着不同的算法。
Mark1:我选择Marching Squares,因为我只需要轮廓的轮廓,即使其中有孔。