c++ - 轮廓的排序点

标签 c++ image-processing opencv

我通过以下方式检测到一个矩形:

  1. 寻找轮廓
  2. 近似多边形

然后我试着找到矩形的角:

imgPoints[0]=contours_poly[i][0];  
imgPoints[1]=contours_poly[i][1];  
imgPoints[3]=contours_poly[i][3];  
imgPoints[2]=contours_poly[i][2]; 

由于引用点,我想以预定义的顺序排列这些点。假设我想从点 0 开始,我该如何订购 以前的点?

最佳答案

如果计算从点 0 到点 xy 的 vector ,它们的 cross product会告诉你 vector 更逆时针。

代码示例 was given in the question "Sort four points in the clockwise order" .

关于c++ - 轮廓的排序点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10539656/

相关文章:

c++ - 在另一个进程中销毁共享的 std::vector

C++,指向函数的指针作为新类型

c++ - 在 C++ 中包装 stdint 变量的基础和继承对象

image-processing - 为什么在 CNN 的后期步骤中通常有多个全连接层?

image-processing - 处理 CUDA 中的边界条件/Halo 区域

c++ - 使用迭代器删除 vector 中的元素

c++ - OpenCV:在非常嘈杂的视频中检测 LED 颜色

opencv - 从Opencv4上的形状获取所有矩形

python - 无法将视频转换为灰度

c++ - 在 OpenCV 的 namedWindow 之前或之后初始化 Tesseract