将曲线识别为列表

时间:2016-02-17 08:15:02

标签: list opencv image-processing line curve

我试图从仅包含单个弯曲边缘的简单图像中识别曲线。 该行不能表示为公式,因为该行是完全随机生成的。 因此,保存曲线的唯一方法是保存像素位置并使用列表(或堆,矢量,其他)连接它们。

示例:

噪音示例:

是否有针对此问题的算法或解决方案?

1 个答案:

答案 0 :(得分:0)

您可以使用$findContours执行此任务。这是{{3}}

drawContours将在findContours中存储每个轮廓的有序点序列。您可以使用std::vector<std::vector<cv::Point>>重建原始轮廓。

或者您可以使用drawContour收集图片中的所有非零点,并在findNonZero中保存点数。然后,您可以设置所有这些点以重建原始图像。

请查看以下代码中的两种方法:

std::vector<cv::Point>