- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近开始了一个简历类(class),正在复习以前的作业(当前的作业尚未发布)。我已经实现了一个 Hough Lines 函数,我循环遍历每个点,如果它是一条边,那么我循环遍历 0-180(或 -90 到 90)theta 值,并计算 rho,最后存储在一个数组中。
当我尝试从极坐标转换回来时,我可以找到一对 X、Y(使用 rho * sin(theta) 和 rho * cos(theta)),但是我不明白如何将其转换为笛卡尔空间中的一条线。要有一条线,您需要 2 个点或一个点和一个方向(当然假设是射线)
我才明白重点在哪里。
我已经做了一些搜索,但似乎无法完全找到答案,人们倾向于说,polar 告诉你 x,然后 bam 你有一条笛卡尔线,但我似乎错过“bam”所在的连接。
这里描述了我的意思; Explain Hough Transformation
还有 Vector/line from polar coordinates哪里问我如何从极坐标画一条线,响应很好这里是 x 和 y。但对我来说从未提及该解决方案的其余部分。
这条线是否与 y = mx+b 有某种关系,其中 m 是 theta,b 是 rho?
如果不是,我如何转换回笛卡尔空间中的一条线。
编辑:在查看 Sunreef 的答案并尝试转换后,y 站在了它自己的一边,我也发现了这个答案: How to convert coordinates back to image (x,y) from hough transformation (rho, theta)?
它似乎我想我要找的是这个
m = -cotθ
c = p*cosecθ
编辑#2我在网上找到了一些其他例子。基本上是的,我需要 rho * sin(theta) 和 rho*cos(theta)
让我感到困惑的另一部分是我需要转换为弧度,一旦我这样做了,我就开始得到很好的结果。
最佳答案
你是对的,你可以在直线上得到一些基点作为
(X0, Y0) = (rho * cos(theta), rho * sin(theta))
你可以找到这条直线垂直于法线的(单位)方向向量:
(dx, dy) = ( -sin(theta), cos(theta))
关于opencv - 如何从极坐标中找到一条线(霍夫变换混淆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39114989/
如何迭代(一行)分割函数给我的每个类? 我试过这个: 编辑(抱歉) $("p").attr("class").split(' ').each (function (i,n){alert(n)}
我有一条垂直线和一条水平线,当我动态调整我的 Canvas 父级时,我想调整它们的大小。 (地标) 我希望水平线始终距 Canvas 的左右边界 25 处,距底部边界 13 处。 垂直线也是如此,距上
我有一个 y 变量,我试图在图形的顶部和底部针对两个相关的 x 轴绘制它(例如 y="立方体中的事物数",x1="立方体的边长", x2="立方体的体积")。我在 numpy 数组中有 y、x1、x2
我想画一条简单的水平线,并在这条线 flex 的地方制作动画。我有这个动画的视频。你能给我一些建议如何开始以及我必须使用哪个 js/css 吗? 都是关于矩形底部的线: http://www.stop
我是一名优秀的程序员,十分优秀!