比较openCV轮廓的最佳功能

时间:2017-09-18 15:03:05

标签: c++ opencv contour

通过与保存的轮廓进行比较来检测轮廓的最佳功能是什么? 现在我在桌面上有以下内容,并将使用其中一些比率(初步结果很好): - 封闭区域圈 边界矩形区域 - 宽度超过宽度的矩形 - 周长(弧长) -convex船体多边形区域(使用多边形区域公式)

哪些将在不同形状之间最明显,并且在比较时将是最准确的(比率A-比率B <阈值)所​​以我不会浪费所有的计算能力? ps:也应该使用缩放和旋转

1 个答案:

答案 0 :(得分:0)

OpenCV中有module shape,其中包含两个形状比较器:ShapeContextDistanceExtractorHausdorffDistanceExtractor。两者都只需要两个轮廓作为参数,并返回单个数字(某些空间中这些轮廓之间的距离),您可以将其视为衡量不相似性

更简单的方法是尝试cv::matchShapes():此函数为每个轮廓计算两个不变Hu moments的向量,然后根据这些向量计算它们的不相似性。