Fix for uninitialized covariance matrix

This is likely a culptrit caused #36231: Motion tracker bug in 2.68
This commit is contained in:
Sergey Sharybin 2013-08-14 05:30:35 +00:00
parent eccde9f72a
commit 43c21e91e1

@ -796,7 +796,7 @@ struct TranslationRotationWarp {
parameters[1] = t[1]; parameters[1] = t[1];
// Obtain the rotation via orthorgonal procrustes. // Obtain the rotation via orthorgonal procrustes.
Mat2 correlation_matrix; Mat2 correlation_matrix = Mat2::Zero();
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
correlation_matrix += q1.CornerRelativeToCentroid(i) * correlation_matrix += q1.CornerRelativeToCentroid(i) *
q2.CornerRelativeToCentroid(i).transpose(); q2.CornerRelativeToCentroid(i).transpose();
@ -864,7 +864,7 @@ struct TranslationRotationScaleWarp {
parameters[2] = 1.0 - q2.Scale() / q1.Scale(); parameters[2] = 1.0 - q2.Scale() / q1.Scale();
// Obtain the rotation via orthorgonal procrustes. // Obtain the rotation via orthorgonal procrustes.
Mat2 correlation_matrix; Mat2 correlation_matrix = Mat2::Zero();
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
correlation_matrix += q1.CornerRelativeToCentroid(i) * correlation_matrix += q1.CornerRelativeToCentroid(i) *
q2.CornerRelativeToCentroid(i).transpose(); q2.CornerRelativeToCentroid(i).transpose();