diff --git a/modules/imgcodecs/src/grfmt_jpeg.cpp b/modules/imgcodecs/src/grfmt_jpeg.cpp index 6862a06eb..8a2900a19 100644 --- a/modules/imgcodecs/src/grfmt_jpeg.cpp +++ b/modules/imgcodecs/src/grfmt_jpeg.cpp @@ -270,7 +270,11 @@ int JpegDecoder::getOrientation() ExifReader reader( m_filename ); if( reader.parse() ) { - orientation = reader.getTag( ORIENTATION ).field_u16;//orientation is unsigned short, so check field_u16 + ExifEntry_t entry = reader.getTag( ORIENTATION ); + if (entry.tag != INVALID_TAG) + { + orientation = entry.field_u16; //orientation is unsigned short, so check field_u16 + } } return orientation; diff --git a/modules/imgcodecs/src/jpeg_exif.cpp b/modules/imgcodecs/src/jpeg_exif.cpp index d10ad5554..103e72dde 100644 --- a/modules/imgcodecs/src/jpeg_exif.cpp +++ b/modules/imgcodecs/src/jpeg_exif.cpp @@ -54,14 +54,14 @@ namespace cv ExifEntry_t::ExifEntry_t() : field_float(0), field_double(0), field_u32(0), field_s32(0), - tag(0), field_u16(0), field_s16(0), field_u8(0), field_s8(0) + tag(INVALID_TAG), field_u16(0), field_s16(0), field_u8(0), field_s8(0) { } /** * @brief ExifReader constructor */ -ExifReader::ExifReader(std::string filename) : m_filename(filename) +ExifReader::ExifReader(std::string filename) : m_filename(filename), m_format(NONE) { }