在opencv中不失真的同心圆

时间:2014-06-30 18:31:51

标签: c++ opencv

我的图像由同心圆组成。我试图使图像不失真,使圆圈在边缘周围相等,就像相机与平面平行一样。 (有些圆圈看起来更接近下一个很好,我只想在两个相邻圆圈之间的边缘周围等间距)

我试图通过指定外圆的点来估计刚性变换,但是它过多地扭曲了内圆,我通过指定所有圆的点并与圆的点进行比较来尝试了一个查找他们应该在哪里。

从我看到的外圈被'垂直'垂直,所以需要水平地刷,但内圈更圆。我该怎么办才能使这张图片无效?

enter image description here

1 个答案:

答案 0 :(得分:1)

https://code.google.com/p/ipwithopencv/source/browse/trunk/ThinPlateSpline/ThinPlateSpline/?r=4

使用薄板样条曲线的这种实现,我能够输入一组代表所有扭曲圆的点,以及另一组代表它们应该在哪里的点,以获得所需的输出。它并非绝对完美,但它已经足够好了!