fixed empty image condition in resize
This commit is contained in:
parent
02aabcca87
commit
5bc10ef796
@ -3477,7 +3477,7 @@ void cv::resize( InputArray _src, OutputArray _dst, Size dsize,
|
||||
{
|
||||
Size ssize = _src.size();
|
||||
|
||||
CV_Assert( ssize.area() > 0 );
|
||||
CV_Assert( ssize.width > 0 && ssize.height > 0 );
|
||||
CV_Assert( dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0) );
|
||||
if( dsize.area() == 0 )
|
||||
{
|
||||
@ -3498,10 +3498,11 @@ void cv::resize( InputArray _src, OutputArray _dst, Size dsize,
|
||||
_dst.create(dsize, src.type());
|
||||
Mat dst = _dst.getMat();
|
||||
|
||||
if (dsize == ssize) {
|
||||
// Source and destination are of same size. Use simple copy.
|
||||
src.copyTo(dst);
|
||||
return;
|
||||
if (dsize == ssize)
|
||||
{
|
||||
// Source and destination are of same size. Use simple copy.
|
||||
src.copyTo(dst);
|
||||
return;
|
||||
}
|
||||
|
||||
hal::resize(src.type(), src.data, src.step, src.cols, src.rows, dst.data, dst.step, dst.cols, dst.rows, inv_scale_x, inv_scale_y, interpolation);
|
||||
|
@ -1218,3 +1218,34 @@ TEST(Imgproc_Resize_Test, accuracy) { CV_Resize_Test test; test.safe_run(); }
|
||||
TEST(Imgproc_Remap_Test, accuracy) { CV_Remap_Test test; test.safe_run(); }
|
||||
TEST(Imgproc_WarpAffine_Test, accuracy) { CV_WarpAffine_Test test; test.safe_run(); }
|
||||
TEST(Imgproc_WarpPerspective_Test, accuracy) { CV_WarpPerspective_Test test; test.safe_run(); }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef OPENCV_TEST_BIGDATA
|
||||
|
||||
CV_ENUM(Interpolation, INTER_NEAREST, INTER_LINEAR, INTER_CUBIC, INTER_AREA)
|
||||
|
||||
class Imgproc_Resize :
|
||||
public ::testing::TestWithParam<Interpolation>
|
||||
{
|
||||
public:
|
||||
virtual void SetUp()
|
||||
{
|
||||
inter = GetParam();
|
||||
}
|
||||
|
||||
protected:
|
||||
int inter;
|
||||
};
|
||||
|
||||
TEST_P(Imgproc_Resize, BigSize)
|
||||
{
|
||||
cv::Mat src(46342, 46342, CV_8UC3, cv::Scalar::all(10)), dst;
|
||||
ASSERT_FALSE(src.empty());
|
||||
|
||||
ASSERT_NO_THROW(cv::resize(src, dst, cv::Size(), 0.5, 0.5, inter));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(Imgproc, Imgproc_Resize, Interpolation::all());
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user