if( decoder->setScale( scale_denom ) > 1 ) // if decoder is JpegDecoder then decoder->setScale always returns 1
{
- resize( *mat, *mat, Size( size.width / scale_denom, size.height / scale_denom ), 0, 0, INTER_LINEAR_EXACT);
+ resize( mat, mat, Size( size.width / scale_denom, size.height / scale_denom ), 0, 0, INTER_LINEAR_EXACT);
}
- if( mat && !mat->empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
+ /// optionally rotate the data if EXIF orientation flag says so
- ApplyExifOrientation(decoder->getExifTag(ORIENTATION), *mat);
++ if (!mat.empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
+ {
- return hdrtype == LOAD_CVMAT ? (void*)matrix :
- hdrtype == LOAD_IMAGE ? (void*)image : (void*)mat;
++ ApplyExifOrientation(decoder->getExifTag(ORIENTATION), mat);
+ }
+
+ return true;
}
Mat img;
/// load the data
- imread_( filename, flags, LOAD_MAT, &img );
+ imread_( filename, flags, img );
- /// optionally rotate the data if EXIF' orientation flag says so
- if( !img.empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
- {
- ApplyExifOrientation(filename, img);
- }
-
/// return a reference to the data
return img;
}
if( decoder->setScale( scale_denom ) > 1 ) // if decoder is JpegDecoder then decoder->setScale always returns 1
{
- resize( *mat, *mat, Size( size.width / scale_denom, size.height / scale_denom ), 0, 0, INTER_LINEAR_EXACT);
+ resize(mat, mat, Size( size.width / scale_denom, size.height / scale_denom ), 0, 0, INTER_LINEAR_EXACT);
}
- if (!mat->empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED)
+ /// optionally rotate the data if EXIF' orientation flag says so
- ApplyExifOrientation(decoder->getExifTag(ORIENTATION), *mat);
++ if (!mat.empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED)
+ {
- decoder.release();
-
- return hdrtype == LOAD_CVMAT ? (void*)matrix :
- hdrtype == LOAD_IMAGE ? (void*)image : (void*)mat;
++ ApplyExifOrientation(decoder->getExifTag(ORIENTATION), mat);
+ }
+
+ return true;
}
CV_TRACE_FUNCTION();
Mat buf = _buf.getMat(), img;
- imdecode_( buf, flags, LOAD_MAT, &img );
+ imdecode_( buf, flags, img );
- /// optionally rotate the data if EXIF' orientation flag says so
- if( !img.empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
- {
- ApplyExifOrientation(buf, img);
- }
-
return img;
}
Mat buf = _buf.getMat(), img;
dst = dst ? dst : &img;
- imdecode_( buf, flags, LOAD_MAT, dst );
+ imdecode_( buf, flags, *dst );
- /// optionally rotate the data if EXIF' orientation flag says so
- if( !dst->empty() && (flags & IMREAD_IGNORE_ORIENTATION) == 0 && flags != IMREAD_UNCHANGED )
- {
- ApplyExifOrientation(buf, *dst);
- }
-
return *dst;
}