【发布时间】:2013-11-04 15:13:14
【问题描述】:
我正在做一个学校项目,我必须在图像中检测地平线。我们必须使用openCV。我已经到了可以通过使用精明边缘检测器和概率霍夫变换成功检测图像中的水平的地步。这是我的结果:
如您所见,显示地平线位置的线由多条线组成。 我的老师对地平线检测的准确性很好,但他希望我将这条多线合并为一条曲线。
有简单的方法吗?
我是编程新手,因此我们将不胜感激。
我想为我糟糕的英语道歉。
编辑 1. : 这就是我创建线条的方式:
vector<Vec4i> lines;
HoughLinesP(dst, lines, 1, CV_PI/180, 1, 1, 200 );
for( size_t i = 0; i < lines.size(); i++ )
{
Vec4i l = lines[i];
line( src, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0,0,255), 3, CV_AA);
}
【问题讨论】:
-
您的线段目前以什么格式表示?
-
我用创建线段的代码更新了主题。所以我猜它叫笛卡尔坐标系。
-
最后你想得到什么样的格式? :-)
-
我不太关心格式,我只需要制作在任何地方都具有相同厚度的单一曲线。这是我老师想要的一个例子。 img833.imageshack.us/img833/7457/zu7d.jpg