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); |
---|