opencv - 如何在图像中找到 "L"形状的方向

标签 opencv image-processing

我需要通过提取的点云找到车辆的移动方向,我已经将点云转换为下图。

First "L"
Second "L"
Third "L"

由于目标车辆可能直线行驶或转弯,图像有时清晰有时模糊,我发现使用模板匹配很难匹配“L”形。

我也尝试使用 RANSAC 来拟合线性,但它有两个侧面,RANSAC 不能很好地工作。我需要做的是使用定向边界框来表示车辆。

如果我能得到“L”形的偏航角,就很容易将其恢复到定向边界框。那么有人可以给我一些建议吗?

PS:函数cv::minAreaRect可以提供一个基本的结果,但它有时会以错误的方向拟合“L”形。

Resut of minAreaRect

最佳答案

构建凸包并将侧面限定为“相当垂直”和“相当水平”。这将帮助您识别角落。

一种更简单的方法是识别使 ±X±Y 最大化的四个像素。这为您提供了一个有趣的四边形边界(通常简化为三角形)。

enter image description here

关于opencv - 如何在图像中找到 "L"形状的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47111190/

相关文章:

java - OpenCV 选择灰色颜色范围

android - 为 Android 添加图像叠加 OpenCV

python - 在opencv中应用sobel和laplacian滤波器后图像的边缘检测

image - 将纹理文件包含到 collada 文件中

image-processing - 从模板识别对象

opencv - Viola Jones 人脸检测框架

c++ - Opencv 异常 fillconvexppoly

c++ - 在 OpenCv Mat 中限制值的最有效方法

matlab - matlab中的梯度直方图

python - 如何找到不同角度的两个同心轮廓之间的距离?