Note that there are some explanatory texts on larger screens.

plurals
  1. POThe best circle fitting algorithm
    text
    copied!<p>I need a very precise algorithm for fitting a circle to the set of data points (actually I need to determine the center). The data comes after the binarization and segmentation of the image. I tried simple center of mass and weighted center of mass algorithms and also pre-made OpenCv::fitEllipse function. I have obtained the best results from OpenCV function, but still, the accuracy is not sufficient. The results are impaired significantly, when the center is anchored in subpixel regions. The accuracy I obtained is not sufficient even when dealing with the modeled data, which is bad, as eventually, the procedure will have to deal with the data captured by comeras. Have you got any suggestions what kind of algorithm should I look for or have you got any ready solution? I would rather refrain from linking any external libs. Thanks for your help. <img src="https://i.stack.imgur.com/hiSjj.png" alt="alt text"></p> <p>edited: Calibration target can be localizaed in any region of the field of view. Hereunder the best results I acieved with OpenCV procedure: </p> <pre><code>169,367 748,345 167,557 820,788 165,690 893,158 164,047 965,197 162,715 1036,729 161,575 1108,089 160,477 1179,552 233,297 1015,313 232,076 1086,965 220,359 1229,578 268,494 1160,275 339,544 1162,980 362,017 1235,669 433,390 1238,491 482,754 1168,299 505,233 1241,039 554,856 1170,664 577,302 1243,439 627,331 1172,795 649,507 1245,665 713,572 588,896 711,995 661,853 710,440 735,034 708,722 808,856 707,018 882,674 705,377 956,169 703,609 1029,211 701,716 1101,950 699,760 1174,689 721,895 1247,620 785,829 614,754 784,344 687,750 782,819 761,315 781,292 835,225 779,389 908,975 777,619 982,335 775,688 1055,275 773,672 1128,091 771,603 1200,724 </code></pre> <p>Editted: The numerically generated model and the real coordinates of the centres: <img src="https://i.stack.imgur.com/EWPgL.png" alt="alt text"></p> <pre><code>51,1 79,8 51,1 179,8 51,1 279,8 51,1 379,8 51,1 479,8 51,1 579,8 51,1 679,8 51,1 779,8 51,1 879,8 51,1 979,8 51,1 1079,8 51,1 1179,8 51,1 1279,8 51,1 1379,8 51,1 1479,8 151,1 79,8 151,1 179,8 151,1 279,8 151,1 379,8 151,1 479,8 151,1 579,8 151,1 679,8 151,1 779,8 151,1 879,8 151,1 979,8 151,1 1079,8 151,1 1179,8 151,1 1279,8 151,1 1379,8 151,1 1479,8 251,1 79,8 251,1 179,8 251,1 279,8 251,1 379,8 251,1 479,8 251,1 579,8 251,1 679,8 251,1 779,8 251,1 879,8 251,1 979,8 251,1 1079,8 251,1 1179,8 251,1 1279,8 251,1 1379,8 251,1 1479,8 351,1 79,8 351,1 179,8 351,1 279,8 351,1 379,8 351,1 479,8 351,1 579,8 351,1 679,8 351,1 779,8 351,1 879,8 351,1 979,8 351,1 1079,8 351,1 1179,8 351,1 1279,8 351,1 1379,8 351,1 1479,8 451,1 79,8 451,1 179,8 451,1 279,8 451,1 379,8 451,1 479,8 451,1 579,8 451,1 679,8 451,1 779,8 451,1 879,8 451,1 979,8 451,1 1079,8 451,1 1179,8 451,1 1279,8 451,1 1379,8 451,1 1479,8 551,1 79,8 551,1 179,8 551,1 279,8 551,1 379,8 551,1 479,8 551,1 579,8 551,1 679,8 551,1 779,8 551,1 879,8 551,1 979,8 551,1 1079,8 551,1 1179,8 551,1 1279,8 551,1 1379,8 551,1 1479,8 651,1 79,8 651,1 179,8 651,1 279,8 651,1 379,8 651,1 479,8 651,1 579,8 651,1 679,8 651,1 779,8 651,1 879,8 651,1 979,8 651,1 1079,8 651,1 1179,8 651,1 1279,8 651,1 1379,8 651,1 1479,8 751,1 79,8 751,1 179,8 751,1 279,8 751,1 379,8 751,1 479,8 751,1 579,8 751,1 679,8 751,1 779,8 751,1 879,8 751,1 979,8 751,1 1079,8 751,1 1179,8 751,1 1279,8 751,1 1379,8 751,1 1479,8 851,1 79,8 851,1 179,8 851,1 279,8 851,1 379,8 851,1 479,8 851,1 579,8 851,1 679,8 851,1 779,8 851,1 879,8 851,1 979,8 851,1 1079,8 851,1 1179,8 851,1 1279,8 851,1 1379,8 851,1 1479,8 951,1 79,8 951,1 179,8 951,1 279,8 951,1 379,8 951,1 479,8 951,1 579,8 951,1 679,8 951,1 779,8 951,1 879,8 951,1 979,8 951,1 1079,8 951,1 1179,8 951,1 1279,8 951,1 1379,8 951,1 1479,8 1051,1 79,8 1051,1 179,8 1051,1 279,8 1051,1 379,8 1051,1 479,8 1051,1 579,8 1051,1 679,8 1051,1 779,8 1051,1 879,8 1051,1 979,8 1051,1 1079,8 1051,1 1179,8 1051,1 1279,8 1051,1 1379,8 1051,1 1479,8 1151,1 79,8 1151,1 179,8 1151,1 279,8 1151,1 379,8 1151,1 479,8 1151,1 579,8 1151,1 679,8 1151,1 779,8 1151,1 879,8 1151,1 979,8 1151,1 1079,8 1151,1 1179,8 1151,1 1279,8 1151,1 1379,8 1151,1 1479,8 </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload