mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 20:09:23 +08:00
Add assertion to prevent processing of large images in remap
This commit is contained in:
parent
6c12533160
commit
af01267f23
@ -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…
Reference in New Issue
Block a user