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,
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