c++ - 从曲线中提取点

标签 c++ algorithm opencv curves

我有一张黑白曲线图片,我想提取代表每条曲线的最小点。点由直线连接。这是我想要的一个例子:

enter image description here enter image description here

如果我能知道点的优先顺序,尤其是在连接部分中,这将很有用。我正在使用 c++ 和 opencv。 我应该使用什么算法来解决这个问题?

最佳答案

OpenCV 为此 cv::approxPolyDP 提供了很好且简单的函数。

void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed)

一个简单的例子:

std::vector<cv::Point> curve;
//fill curve
std::vector<cv::Point> approximated_polyline;
cv::approxPolyDP(Mat(curve), approximated_polyline, 3, false);

关于c++ - 从曲线中提取点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42385906/

相关文章:

NAO Robot 上的 C++ - 如何运行我的 C++ 代码?

ios - 从 Objective C++ 调用时,OpenCv inRange 函数的行为不同

c++ - 澄清 "object pool"模式?

c++ - 在 C++ 中读取 kinect 深度文件

c++ - 这个模式在 C++ 中有效吗?

algorithm - session 调度解决方案

algorithm - 我如何确定产品的比率以创建最终结果?

algorithm - 为什么 Shamir Secret Sharing 使用拉格朗日多项式?

python - 在 OpenCV 中实现 Photoshop 高通滤波器 (HPF)

c++ - OpenCV Canny + 分水岭