[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39554] branches/soc-2011-tomato/extern/ libmv: Camera tracking integration
Sergey Sharybin
g.ulairi at gmail.com
Fri Aug 19 16:23:09 CEST 2011
Revision: 39554
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39554
Author: nazgul
Date: 2011-08-19 14:23:09 +0000 (Fri, 19 Aug 2011)
Log Message:
-----------
Camera tracking integration
===========================
Fixes for MSVC.
Modified Paths:
--------------
branches/soc-2011-tomato/extern/libmv/ChangeLog
branches/soc-2011-tomato/extern/libmv/libmv/tracking/sad.cc
Modified: branches/soc-2011-tomato/extern/libmv/ChangeLog
===================================================================
--- branches/soc-2011-tomato/extern/libmv/ChangeLog 2011-08-19 14:05:11 UTC (rev 39553)
+++ branches/soc-2011-tomato/extern/libmv/ChangeLog 2011-08-19 14:23:09 UTC (rev 39554)
@@ -1,3 +1,15 @@
+commit 5299ea67043459eda147950e589c2d327a8fbced
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date: Fri Aug 19 16:05:54 2011 +0200
+
+ sqrt takes double precision.
+
+commit 9f9221ce151d788c49b48f6f293ab2e2f8813978
+Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
+Date: Fri Aug 19 16:04:37 2011 +0200
+
+ MSVC compatibility: heap allocate pattern, explicit float cast.
+
commit 702658d2f8616964a6eeb3743fd85e97ac7ff09d
Author: Matthias Fauconneau <matthias.fauconneau at gmail.com>
Date: Fri Aug 19 14:59:24 2011 +0200
Modified: branches/soc-2011-tomato/extern/libmv/libmv/tracking/sad.cc
===================================================================
--- branches/soc-2011-tomato/extern/libmv/libmv/tracking/sad.cc 2011-08-19 14:05:11 UTC (rev 39553)
+++ branches/soc-2011-tomato/extern/libmv/libmv/tracking/sad.cc 2011-08-19 14:23:09 UTC (rev 39554)
@@ -122,6 +122,7 @@
min=-1; //reset score since direct warped search match too well (but the wrong pattern).
// 6D coordinate descent to find affine transform
+ ubyte match = new ubyte[size*size];
float step = 0.5;
for(int p = 0; p < 8; p++) { //foreach precision level
for(int i = 0; i < 2; i++) { // iterate twice per precision level
@@ -130,7 +131,6 @@
for(float x = -step; x <= step; x+=step) { //solve subproblem (evaluate only along one coordinate)
mat32 t = m;
t.data[d] += x;
- ubyte match[size*size];
//TODO: better performance would also allow a more exhaustive search
SamplePattern(image,stride,t,match,size);
uint sad = SAD(reference,match,size,size);
@@ -152,7 +152,6 @@
// Compute Pearson product-moment correlation coefficient
uint sX=0,sY=0,sXX=0,sYY=0,sXY=0;
- ubyte match[size*size];
SamplePattern(image,stride,m,match,size);
SAD(reference,match,size,size);
for(int i = 0; i < size; i++) {
@@ -166,9 +165,10 @@
sXY += x*y;
}
}
+ delete[] match;
const int N = size*size;
sX /= N, sY /= N, sXX /= N, sYY /= N, sXY /= N;
- return (sXY-sX*sY)/sqrt((sXX-sX*sX)*(sYY-sY*sY));
+ return (sXY-sX*sY)/sqrt(double((sXX-sX*sX)*(sYY-sY*sY)));
}
} // namespace libmv
More information about the Bf-blender-cvs
mailing list