mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
32bit rgb bmp file should not copy data as rgba
This commit is contained in:
parent
3c8cadf7ca
commit
ce68291d83
@ -180,7 +180,7 @@ bool BmpDecoder::readHeader()
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
// in 32 bit case alpha channel is used - so require CV_8UC4 type
|
// in 32 bit case alpha channel is used - so require CV_8UC4 type
|
||||||
m_type = iscolor ? (m_bpp == 32 ? CV_8UC4 : CV_8UC3 ) : CV_8UC1;
|
m_type = iscolor ? ((m_bpp == 32 && m_rle_code != BMP_RGB) ? CV_8UC4 : CV_8UC3 ) : CV_8UC1;
|
||||||
m_origin = m_height > 0 ? IPL_ORIGIN_BL : IPL_ORIGIN_TL;
|
m_origin = m_height > 0 ? IPL_ORIGIN_BL : IPL_ORIGIN_TL;
|
||||||
m_height = std::abs(m_height);
|
m_height = std::abs(m_height);
|
||||||
|
|
||||||
|
@ -280,6 +280,16 @@ TEST(Imgcodecs_Bmp, read_rle8)
|
|||||||
EXPECT_PRED_FORMAT2(cvtest::MatComparator(0, 0), rle, ord);
|
EXPECT_PRED_FORMAT2(cvtest::MatComparator(0, 0), rle, ord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(Imgcodecs_Bmp, read_32bit_rgb)
|
||||||
|
{
|
||||||
|
const string root = cvtest::TS::ptr()->get_data_path();
|
||||||
|
const string filenameInput = root + "readwrite/test_32bit_rgb.bmp";
|
||||||
|
|
||||||
|
const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED);
|
||||||
|
ASSERT_FALSE(img.empty());
|
||||||
|
ASSERT_EQ(CV_8UC3, img.type());
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_IMGCODEC_HDR
|
#ifdef HAVE_IMGCODEC_HDR
|
||||||
TEST(Imgcodecs_Hdr, regression)
|
TEST(Imgcodecs_Hdr, regression)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user