Closed cy-goh closed 4 years ago
When the code for checking parallax is changed to return cosParallax >= minCos[minDegree-1];
,then there are few feature points that can be successfully triangulated, and the calculation results basically rely on the data of odom.In theory, the parallax angle should be larger, so it would be better to improve it. @izhengfan
@CrisGao , yes you are right. I made a mistake on the cosine.
@cy-goh Good catch.
@CrisGao Thanks for the comment. According to your comment, I guess the current checkParallax()
does not need revision?
@izhengfan ,yes checkParallax()
is not wrong.If I understand correctly, I think cv::Mat xy = cTc.rowRange(0,2).col(3);
is not wrong, cv::norm(xy) is the Euclidean distance of the plane
@izhengfan ,yes
checkParallax()
is not wrong.If I understand correctly, I thinkcv::Mat xy = cTc.rowRange(0,2).col(3);
is not wrong, cv::norm(xy) is the Euclidean distance of the plane
Thanks for the reminding, let me rethink it.
@izhengfan ,yes
checkParallax()
is not wrong.If I understand correctly, I thinkcv::Mat xy = cTc.rowRange(0,2).col(3);
is not wrong, cv::norm(xy) is the Euclidean distance of the plane
I think cTc is in the camera coordinate frame, with y axis pointing down.
@izhengfan ,yes
checkParallax()
is not wrong.If I understand correctly, I thinkcv::Mat xy = cTc.rowRange(0,2).col(3);
is not wrong, cv::norm(xy) is the Euclidean distance of the planeI think cTc is in the camera coordinate frame, with y axis pointing down.
Yes, the physical meaning of c6
is whether the distance between the camera center in two moments is large enough to get enough parallax, so it should be like xy = cTc.rowRange(0,3).col(3)
.
I’m sorry that I misunderstood it. Only when the camera is facing up, cTc.rowRange(0,2).col(3)
is the translation of the xy plane.
I’m sorry that I misunderstood it. Only when the camera is facing up,
cTc.rowRange(0,2).col(3)
is the translation of the xy plane.
Yes, when the camera is facing forward or to the side, the z component in cTc
can affect the parallax.
@izhengfan i found quite a fair bit of other bugs. Do you want me to open a new issue, or continue here?
@izhengfan i found quite a fair bit of other bugs. Do you want me to open a new issue, or continue here?
Actually you can fork and open a PR. Thus your contributions will be counted.
Hello,
in Track.cpp,
1) for line 361, Shouldn't
bool c5 = fdOdo.theta >= 0.0349f
bebool c5 = fabs(dOdo.theta) >= 0.0349f
?2) for line 364, after converting to camera frame CTC, shouldnt it be
cv::Mat xy = cTc.rowRange(0,3).col(3)
?3) The code for checking parallax when triangulating new points, shouldnt the higher the parallax, the better?