我正在寻找有关图像方向的一般概念,以便我可以将其旋转到最接近的 90 度角。
我如何做到这一点的想法是对图像进行 DFT,然后进行“雷达扫描”以找出沿线的频率幅度总和最大的角度,并将获胜角度称为方向。
我从 0 到 180 度而不是从 0 到 360 度进行扫描,并且使雷达扫描双面,因为负频率和正频率似乎属于一起。
例如,如果我采用此图像的 DFT:
频率幅度为:
如果我进行雷达扫描,我会在这里找到获胜线/角度:
使用该信息,我可以知道该蓝线最近的 90 度在哪里,计算出我需要旋转 dft 图像多少才能使该蓝线垂直,而是将源图像旋转该量,以使该图像朝向最近的 90 度。
像这样的东西,但实际上是水平的(我目前正在解决一些错误,在我的实现中)
这个方法好听吗?在转向更复杂的图像(例如复杂的图案或照片)时,我会遇到什么复杂情况吗?
编辑:在上面我没有解释我在做什么的原因。
如果您采用简单图像的 dft(例如单线或黑白条纹的重复图案),则生成的频率幅度图像具有垂直于该线或那些条纹方向的数据。
行此:
DFT对此:
可能(可能很天真!)理解是我应该能够判断哪个方向(从中心)具有最高的和,这将告诉我垂直于图像的最大表示方向的角度。
从那里,我可以找到我必须将那条线旋转到最接近的 90 度,并将该旋转应用于源图像,使其对齐到最接近的 90 度。
我的想法是不是太简单了,或者这是一个可靠的方法?





