擅长:python、mysql、java
<p>首先,我发现你最初的方法很好,我可能也会尝试同样的方法(我特别欣赏行/列投影后再进行直方图,这是一种被低估的方法,在实际应用中通常是相当有效的)。在</p>
<p>但是,由于您希望获得更可靠的处理管道,下面是一个可能完全自动化的建议(同时也可以通过ImageMagick删除倾斜):</p>
<ol>
<li>特征提取:通过广义Hough变换提取圆。正如其他答案中建议的那样,您可以使用OpenCV的Python包装器。探测器可能会漏掉一些圆圈,但这并不重要。在</li>
<li>利用圆应用一个稳健的对准检测器中心。你可以使用Desloneux无参数检测器描述<a href="http://www.stat.ucla.edu/~sczhu/Courses/UCLA/Stat_232A/papers/Meaningful_alighment.pdf" rel="nofollow">here</a>。不要害怕数学,这个过程很容易实现(你可以在网上找到示例实现)。在</li>
<li>通过选择方向来去除对角线。在</li>
<li>找出线的交点来得到点。通过为这些交点假定理想的固定位置,可以使用这些坐标进行斜交。在</li>
</ol>
<p>这个管道可能有点CPU密集型(特别是第2步,它将进行某种贪婪的搜索),但它应该是非常健壮和自动的。在</p>