warp Affine tegra integration

pull/13383/head
Marina Kolpakova 13 years ago
parent 4ce8de5174
commit 00117d2a6e
  1. 26
      modules/imgproc/src/imgwarp.cpp

@ -2852,8 +2852,19 @@ void cv::warpAffine( InputArray _src, OutputArray _dst,
}
#ifdef HAVE_TEGRA_OPTIMIZATION
if( tegra::warpAffine(src, dst, M, interpolation, borderType, borderValue) )
if (borderType == BORDER_REPLICATE)
{
if( tegra::warpAffine(src, dst, M, interpolation, borderType, borderValue) )
return;
}
else
{
double warp_mat[6];
Mat warp_m(2, 3, CV_64F, warp_mat);
M0.convertTo(warp_m, warp_m.type());
if( tegra::warpAffine(src, dst, warp_mat, interpolation, borderType, borderValue) )
return;
}
#endif
int x, y, x1, y1, width = dst.cols, height = dst.rows;
@ -2988,6 +2999,19 @@ void cv::warpPerspective( InputArray _src, OutputArray _dst, InputArray _M0,
invert(matM, matM);
#ifdef HAVE_TEGRA_OPTIMIZATION
// if (borderType == BORDER_REPLICATE)
// {
// if( tegra::warpPerspective(src, dst, M, interpolation, borderType, borderValue) )
// return;
// }
// else
// {
// double warp_mat[9];
// Mat warp_m(3, 3, CV_64F, warp_mat);
// M0.convertTo(warp_m, warp_m.type());
// if( tegra::warpPerspective(src, dst, warp_mat, interpolation, borderType, borderValue) )
// return;
// }
if( tegra::warpPerspective(src, dst, M, interpolation, borderType, borderValue) )
return;
#endif

Loading…
Cancel
Save