|
|
@ -145,7 +145,7 @@ BYTE8 VideoStitch::GeoStitch(GD_VIDEO_FRAME_S img, FrameInfo para)
|
|
|
|
cv::Mat H1 = _GeoStitcher->findHomography(t_Proj);
|
|
|
|
cv::Mat H1 = _GeoStitcher->findHomography(t_Proj);
|
|
|
|
|
|
|
|
|
|
|
|
// Geo2Pan H
|
|
|
|
// Geo2Pan H
|
|
|
|
cv::Mat H2 = getHFromGeo2Pan(_panPara);
|
|
|
|
cv::Mat H2 = getAffineFromGeo2Pan(_panPara);
|
|
|
|
|
|
|
|
|
|
|
|
cv::Mat H = H2 * H1;
|
|
|
|
cv::Mat H = H2 * H1;
|
|
|
|
|
|
|
|
|
|
|
@ -175,7 +175,7 @@ SINT32 VideoStitch::BAStitch(GD_VIDEO_FRAME_S img, FrameInfo para)
|
|
|
|
|
|
|
|
|
|
|
|
SINT32 VideoStitch::BAOpt()
|
|
|
|
SINT32 VideoStitch::BAOpt()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_BATask->optimizeBA(getHFromGeo2Pan(_panPara));
|
|
|
|
_BATask->optimizeBA(getAffineFromGeo2Pan(_panPara));
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -232,7 +232,7 @@ GD_VIDEO_FRAME_S VideoStitch::ExportPanAddr()
|
|
|
|
return pan_out;
|
|
|
|
return pan_out;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
cv::Mat VideoStitch::getHFromGeo2Pan(PanInfo _pan)
|
|
|
|
cv::Mat VideoStitch::getAffineFromGeo2Pan(PanInfo _pan)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Mat H = (Mat_<double>(3, 3) << _pan.scale, 0, _pan.map_shiftX,
|
|
|
|
Mat H = (Mat_<double>(3, 3) << _pan.scale, 0, _pan.map_shiftX,
|
|
|
|
0, -_pan.scale, _panPara.m_pan_height + _pan.map_shiftY,
|
|
|
|
0, -_pan.scale, _panPara.m_pan_height + _pan.map_shiftY,
|
|
|
|