[37] | 1 | % By Philip Torr 2002
|
---|
| 2 | % copyright Microsoft Corp.
|
---|
| 3 |
|
---|
| 4 | function f = torr_refine_f_sampson(x1,y1,x2,y2, no_matches,m3,new_f,D_orig)
|
---|
| 5 |
|
---|
| 6 | err_f = torr_errf2(new_f,x1,y1,x2,y2,no_matches, m3);
|
---|
| 7 | sse_f = norm(err_f);
|
---|
| 8 | new_ssef = sse_f *0.998;
|
---|
| 9 | iter = 0;
|
---|
| 10 | %keep going whilst still 0.1% change
|
---|
| 11 | %while (sse_f - new_ssef )/sse_f >0.001
|
---|
| 12 |
|
---|
| 13 | if nargin < 9
|
---|
| 14 | max_iter = 5;
|
---|
| 15 | end
|
---|
| 16 | f = new_f;
|
---|
| 17 | for i = 1:max_iter
|
---|
| 18 | % % sse_f = new_ssef
|
---|
| 19 | % f = new_f;
|
---|
| 20 | % iter = iter + 1;
|
---|
| 21 | % new_f = torr_Sampson_F(x1,y1,x2,y2, no_matches,m3, D_orig, f);
|
---|
| 22 | % % new_err_f = torr_errf2(f,x1,y1,x2,y2,no_matches, m3);
|
---|
| 23 | % % new_ssef = norm(new_err_f)
|
---|
| 24 |
|
---|
| 25 | f = new_f;
|
---|
| 26 | new_f = torr_Sampson_F(x1,y1,x2,y2, no_matches,m3, D_orig, f);
|
---|
| 27 | % if ( norm(new_f-f) < 0.0000001)
|
---|
| 28 | % i = max_iter
|
---|
| 29 | % end
|
---|
| 30 |
|
---|
| 31 |
|
---|
| 32 | end
|
---|
| 33 |
|
---|
| 34 | f = f/norm(f); |
---|