当前位置: 首页 > 知识库问答 >
问题:

如何在极坐标系中找到垂直线?

周翼
2023-03-14

假设我有下图中显示的线条,以极坐标格式(rho和θ)表示。这些线条是OpenCV的HoughLines函数经过一些后处理后的输出。(抱歉,我还不允许嵌入图像。)

我想做的是,给定任何一条线,找出与该线垂直的所有线,如下面的第二幅图所示。

我知道如何使用笛卡尔线来实现这一点,但我很难理解ρ和θ的性质,这两条线必须是垂直的,尽管我至少从根本上理解了极线是如何工作的。抱歉,如果这是基本的东西,但我在网上找不到任何解释。我是否需要首先将直线转换为笛卡尔坐标,或者是否有更简单的方法?任何帮助都将不胜感激,谢谢!

共有1个答案

阴靖
2023-03-14

要获得极坐标系中的垂直线,只需取第一条线的θ,然后找到θ=/-90°的所有线。

比较时,必须将角度规格化为0°-360°或其他范围。

因此,如果第1行有一个θline1。θ
那么与另一行的角度是a=(line2。θ-line1。θ)
并且您希望a接近-90°、90°、270°、-270°的所有行,...
取决于您如何归一化角度

 类似资料:
  • 我使用Canny方法得到图像的边缘。然后我应用约多边形方法来近似边,得到一组折线(不是多边形)和线段。每个折线由线段形成。我的目的是得到每个线段endpoint在笛卡尔坐标系(2D平面)中的坐标和相应的极坐标参数(rho,θ)。任何想法?谢谢! 顺便说一句:我知道我们可以使用HoughLines方法查找直线(而不是线段)并获得极坐标中的参数(rho,θ),或者我们可以使用HoughLinesP方法

  • 我在将图像转换为极坐标时遇到问题。在Photoshop中很容易:)所以这对我来说是一个新领域。 我有以下图片: 结果应该是这样的: 我在这里看了一下,了解了一些基本知识,但仍然对圆的平方有点困惑: 我几乎不知道如何重新绘制图像。还有一个警告:由于管理限制,我想避免使用像Numpy这样的外部库。

  • 我最近开始了一门简历课程,正在学习旧的家庭作业(目前的作业尚未发布)。我已经实现了一个Hough线函数,我循环通过每个点,如果它是一条边,那么我循环通过0-180(或-90到90)θ值,然后计算ρ,最后存储在一个数组中。 当我尝试从极坐标转换回来时,我可以找到一个X,Y对(使用rho*sin(θ)和rho*cos(θ)),但是我不明白如何将其转换为笛卡尔空间中的线。要拥有一条线,您需要2个点或一个

  • 我试图写一个函数,它以笛卡尔坐标系中的x和y值作为输入,并输出极坐标和三角坐标形式。我希望输出包含指数和正弦/余弦,而不是实际值。例如,如果笛卡尔函数是z=1i,我希望函数输出z=sqrt(2)e^(ipi/4)和z=sqrt(2)(cos(pi/4)Isin(pi/4)。我该怎么做? 函数坐标(x, y) r=sqrt(x.^2 y.^2); θ=atan(y./x); Polarcoord=r

  • 我的极坐标图是什么样子的 我试图移动ytick标签,使它们与轴标签类似地对齐。例如,'PTS'标签水平对齐到其轴,但ytick标签向右移动。 对于y值标签,我使用set_rgrids()函数指定角度和标签值,并使用tick_params()函数指定标签属性,如旋转。但是,此函数不允许我设置标签的文本框对齐。 如何将y值向左移动,使其直接位于相应的轴标签下? 完整代码:

  • 但是后来添加的对象被翻转了(这是我不希望发生的)。