mirror of
https://github.com/opencv/opencv.git
synced 2025-01-19 06:53:50 +08:00
Merge pull request #22436 from Harvey-Huang:4-bit_palette_color
This commit is contained in:
commit
f376bfe95d
@ -312,6 +312,18 @@ bool TiffDecoder::readHeader()
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
//support 4-bit palette.
|
||||
if (photometric == PHOTOMETRIC_PALETTE)
|
||||
{
|
||||
CV_Check((int)sample_format, sample_format == SAMPLEFORMAT_UINT || sample_format == SAMPLEFORMAT_INT, "");
|
||||
int depth = sample_format == SAMPLEFORMAT_INT ? CV_8S : CV_8U;
|
||||
m_type = CV_MAKETYPE(depth, 3);
|
||||
result = true;
|
||||
}
|
||||
else
|
||||
CV_Error(cv::Error::StsError, "bitsperpixel value is 4 should be palette.");
|
||||
break;
|
||||
case 8:
|
||||
{
|
||||
//Palette color, the value of the component is used as an index into the red,
|
||||
|
@ -359,6 +359,16 @@ TEST(Imgcodecs_Tiff, read_palette_color_image)
|
||||
ASSERT_EQ(CV_8UC3, img.type());
|
||||
}
|
||||
|
||||
TEST(Imgcodecs_Tiff, read_4_bit_palette_color_image)
|
||||
{
|
||||
const string root = cvtest::TS::ptr()->get_data_path();
|
||||
const string filenameInput = root + "readwrite/4-bit_palette_color.tif";
|
||||
|
||||
const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED);
|
||||
ASSERT_FALSE(img.empty());
|
||||
ASSERT_EQ(CV_8UC3, img.type());
|
||||
}
|
||||
|
||||
TEST(Imgcodecs_Tiff, readWrite_predictor)
|
||||
{
|
||||
/* see issue #21871
|
||||
|
Loading…
Reference in New Issue
Block a user