(这是一个后续的这个前一个问题 )。
我能够成功地使用的OpenCV /霍夫变换来检测图像(扫描的文本)线; 起初它会检测到许多多行(每行文本的至少一个线),但通过经由试错误调整“阈值”参数,它现在仅检测“真正的”线。
(在“门槛”参数取决于图像大小,这是有点问题的,如果一个人处理不同分辨率的图像,但那是另一回事)。
我的问题是,霍夫变换有时会检测到两条线,其中只有一个; 这两条线非常接近彼此并且(明显地)平行。
=>如何确定两条线几乎是平行的,非常靠近彼此? (这样我就可以只保留一个)。
如果您使用标准或多尺度霍夫,你最终会与Rho和极坐标系的THETA坐标。 RHO是到原点的距离,和θ通常为所检测到的线和Y轴之间的角度。 如果没有寻找到霍夫的细节OpenCV的变换,这是这些坐标一般规则:两行会几乎是平行的,非常接近彼此时: - 他们的θ驱动几乎完全相同,它们RHOS几乎相同或者 - 他们的θ驱动附近相隔180度,其RHOS相互靠近的负
我希望这是有道理的。
这是对的θ是所述线与y轴之间的角度有趣。
通常,rho和2θ值被可视为垂直于所讨论的线路从x轴到线的角度。 的RHO是则该垂线的长度。 因此,THETA = 90和Rho = 20将意味着一个水平线从原点20个像素起来。 一个漂亮的图像则显示在Hough变换问题