编辑:为了进一步澄清我的问题是否不明确,
我的问题是检测点并将单独的曲线拟合到对象的每个弯曲边缘,如下图所示(所示图像是一个示例。每个对象的实际形状不同,但是会有一个尖角或从一个边缘到另一个边缘的斜率变化):
解决这个问题的一种方法是将每条边上的点/像素(上例中的四条线)分开,并在每条边上拟合多项式。通过搜索一下,我了解到Hough变换可用于检测OpenCV中的直边,但不能用于弯曲边缘。我也试过检测轮廓,但它没有分离出封闭形状的边缘。边缘被认为与相邻边缘分离的主要标准是斜率发生急剧变化。
有人能告诉我如何实现这个目标吗?由于我的任务的其他模块,我更喜欢使用C ++和OpenCV。
答案 0 :(得分:2)
您要做的主要是在轮廓中找到高曲率点。有几种曲率估计方法。一些是基于强度的局部导数,一些是基于沿曲线的像素的排列。这个问题与角点检测非常接近。
您可能会对以下参考文献感兴趣:“比较研究 关于2D曲率估计,Simon Hermann和Reinhard Klette“或”噪声曲线中的曲率估计,Thanh Phuong Nguyen,Isabelle Debled-Rennesson“。请注意,由于数字域中的曲率估计不安,因此在该主题上存在大量文献。二阶导数。