Merge pull request #7601 from sovrasov:remap_big_img_assert

pull/7608/head
Vadim Pisarevsky 8 years ago
commit 6fceb1dd59
  1. 2
      modules/imgproc/include/opencv2/imgproc.hpp
  2. 2
      modules/imgproc/src/imgwarp.cpp

@ -2286,6 +2286,8 @@ not supported by this function.
borderMode=BORDER_TRANSPARENT, it means that the pixels in the destination image that borderMode=BORDER_TRANSPARENT, it means that the pixels in the destination image that
corresponds to the "outliers" in the source image are not modified by the function. corresponds to the "outliers" in the source image are not modified by the function.
@param borderValue Value used in case of a constant border. By default, it is 0. @param borderValue Value used in case of a constant border. By default, it is 0.
@note
Due to current implementaion limitations the size of an input and output images should be less than 32767x32767.
*/ */
CV_EXPORTS_W void remap( InputArray src, OutputArray dst, CV_EXPORTS_W void remap( InputArray src, OutputArray dst,
InputArray map1, InputArray map2, InputArray map1, InputArray map2,

@ -4856,6 +4856,8 @@ void cv::remap( InputArray _src, OutputArray _dst,
Mat src = _src.getMat(), map1 = _map1.getMat(), map2 = _map2.getMat(); Mat src = _src.getMat(), map1 = _map1.getMat(), map2 = _map2.getMat();
_dst.create( map1.size(), src.type() ); _dst.create( map1.size(), src.type() );
Mat dst = _dst.getMat(); Mat dst = _dst.getMat();
CV_Assert( dst.cols < SHRT_MAX && dst.rows < SHRT_MAX && src.cols < SHRT_MAX && src.rows < SHRT_MAX );
if( dst.data == src.data ) if( dst.data == src.data )
src = src.clone(); src = src.clone();

Loading…
Cancel
Save