Skip to content

Commit 5a5019c

Browse files
committed
bug fixes and opencv-specific changes
1 parent f964720 commit 5a5019c

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/lib/PDM.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void Align3Dto2DShapes(double& scale,double& pitch,double& yaw,double& roll,
109109
cv::Mat X = (s2D_cpy.reshape(1,2)).t(),S = (s3D_cpy.reshape(1,3)).t();
110110
for(i = 0; i < 2; i++){cv::Mat v = X.col(i); t2[i] = sum(v)[0]/n; v-=t2[i];}
111111
for(i = 0; i < 3; i++){cv::Mat v = S.col(i); t3[i] = sum(v)[0]/n; v-=t3[i];}
112-
cv::Mat M = ((S.t()*S).inv(CV_SVD_SYM))*S.t()*X;
112+
cv::Mat M = ((S.t()*S).inv(cv::DECOMP_CHOLESKY))*S.t()*X;
113113
cv::Mat MtM = M.t()*M; cv::SVD svd(MtM,cv::SVD::MODIFY_A);
114114
svd.w.db(0,0) = 1.0/sqrt(svd.w.db(0,0));
115115
svd.w.db(1,0) = 1.0/sqrt(svd.w.db(1,0));
@@ -314,7 +314,7 @@ void PDM::CalcReferenceUpdate(cv::Mat &dp,cv::Mat &plocal,cv::Mat &pglobl)
314314
pglobl.db(5,0) += dp.db(5,0);
315315
Euler2Rot(R1_,pglobl); R2_ = cv::Mat::eye(3,3,CV_64F);
316316
R2_.db(1,2) = -1.0*(R2_.db(2,1) = dp.db(1,0));
317-
R2_.db(2,1) = -1.0*(R2_.db(0,2) = dp.db(2,0));
317+
R2_.db(2,0) = -1.0*(R2_.db(0,2) = dp.db(2,0));
318318
R2_.db(0,1) = -1.0*(R2_.db(1,0) = dp.db(3,0));
319319
MetricUpgrade(R2_); R3_ = R1_*R2_; Rot2Euler(R3_,pglobl); return;
320320
}

src/lib/Tracker.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ cv::Rect Tracker::UpdateTemplate(cv::Mat &im,cv::Mat &s,bool rsize)
177177
small_.create(TSCALE*hh,TSCALE*ww,CV_8U);
178178
cv::resize(im,small_,cv::Size(TSCALE*ww,TSCALE*hh),0,0,CV_INTER_LINEAR);
179179
}
180+
if (temp_.rows > 0)
181+
R.width = (((R.width) < (temp_.rows)) ? (R.width) : (temp_.rows));
182+
if (temp_.cols > 0)
183+
R.height = (((R.height) < (temp_.cols)) ? (R.height) : (temp_.cols));
180184
temp_ = small_(R).clone();
181185
R.x *= 1.0/TSCALE; R.y *= 1.0/TSCALE;
182186
R.width *= 1.0/TSCALE; R.height *= 1.0/TSCALE; return R;

0 commit comments

Comments
 (0)