我试图从仅包含单个弯曲边缘的简单图像中识别曲线。 该行不能表示为公式,因为该行是完全随机生成的。 因此,保存曲线的唯一方法是保存像素位置并使用列表(或堆,矢量,其他)连接它们。
示例:
噪音示例:
是否有针对此问题的算法或解决方案?
答案 0 :(得分:0)
您可以使用$
和findContours
执行此任务。这是{{3}}
drawContours
将在findContours
中存储每个轮廓的有序点序列。您可以使用std::vector<std::vector<cv::Point>>
重建原始轮廓。
或者您可以使用drawContour
收集图片中的所有非零点,并在findNonZero
中保存点数。然后,您可以设置所有这些点以重建原始图像。
请查看以下代码中的两种方法:
std::vector<cv::Point>