From 26798e1f7c90b556eee5b7efbe695c7e93439b02 Mon Sep 17 00:00:00 2001 From: Kumataro Date: Fri, 19 Apr 2024 19:20:05 +0900 Subject: [PATCH] imgcodecs: tiff: test: ASSERT_NO_THROW() for imwrite/imread --- modules/imgcodecs/test/test_tiff.cpp | 78 +++++++++++++++++++++------- 1 file changed, 59 insertions(+), 19 deletions(-) diff --git a/modules/imgcodecs/test/test_tiff.cpp b/modules/imgcodecs/test/test_tiff.cpp index 8ff7db52eb..ee40c54b59 100644 --- a/modules/imgcodecs/test/test_tiff.cpp +++ b/modules/imgcodecs/test/test_tiff.cpp @@ -685,15 +685,22 @@ TEST(Imgcodecs_Tiff, readWrite_unsigned) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/gray_8u.tif"; const string filenameOutput = cv::tempfile(".tiff"); - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_8UC1, img.type()); Mat matS8; img.convertTo(matS8, CV_8SC1); - ASSERT_TRUE(cv::imwrite(filenameOutput, matS8)); - const Mat img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(filenameOutput, matS8)); + ASSERT_TRUE(ret_imwrite); + + Mat img2; + ASSERT_NO_THROW(img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED)); + ASSERT_FALSE(img2.empty()); ASSERT_EQ(img2.type(), matS8.type()); ASSERT_EQ(img2.size(), matS8.size()); EXPECT_LE(cvtest::norm(matS8, img2, NORM_INF | NORM_RELATIVE), 1e-3); @@ -705,12 +712,19 @@ TEST(Imgcodecs_Tiff, readWrite_32FC1) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/test32FC1.tiff"; const string filenameOutput = cv::tempfile(".tiff"); - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_32FC1,img.type()); - ASSERT_TRUE(cv::imwrite(filenameOutput, img)); - const Mat img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(filenameOutput, img)); + ASSERT_TRUE(ret_imwrite); + + Mat img2; + ASSERT_NO_THROW(img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED)); + ASSERT_FALSE(img2.empty()); ASSERT_EQ(img2.type(), img.type()); ASSERT_EQ(img2.size(), img.size()); EXPECT_LE(cvtest::norm(img, img2, NORM_INF | NORM_RELATIVE), 1e-3); @@ -722,12 +736,19 @@ TEST(Imgcodecs_Tiff, readWrite_64FC1) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/test64FC1.tiff"; const string filenameOutput = cv::tempfile(".tiff"); - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_64FC1, img.type()); - ASSERT_TRUE(cv::imwrite(filenameOutput, img)); - const Mat img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(filenameOutput, img)); + ASSERT_TRUE(ret_imwrite); + + Mat img2; + ASSERT_NO_THROW(img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED)); + ASSERT_FALSE(img2.empty()); ASSERT_EQ(img2.type(), img.type()); ASSERT_EQ(img2.size(), img.size()); EXPECT_LE(cvtest::norm(img, img2, NORM_INF | NORM_RELATIVE), 1e-3); @@ -739,12 +760,19 @@ TEST(Imgcodecs_Tiff, readWrite_32FC3_SGILOG) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/test32FC3_sgilog.tiff"; const string filenameOutput = cv::tempfile(".tiff"); - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_32FC3, img.type()); - ASSERT_TRUE(cv::imwrite(filenameOutput, img)); - const Mat img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(filenameOutput, img)); + ASSERT_TRUE(ret_imwrite); + + Mat img2; + ASSERT_NO_THROW(img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED)); + ASSERT_FALSE(img2.empty()); ASSERT_EQ(img2.type(), img.type()); ASSERT_EQ(img2.size(), img.size()); EXPECT_LE(cvtest::norm(img, img2, NORM_INF | NORM_RELATIVE), 0.01); @@ -756,7 +784,9 @@ TEST(Imgcodecs_Tiff, readWrite_32FC3_RAW) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/test32FC3_raw.tiff"; const string filenameOutput = cv::tempfile(".tiff"); - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_32FC3, img.type()); @@ -764,8 +794,13 @@ TEST(Imgcodecs_Tiff, readWrite_32FC3_RAW) params.push_back(IMWRITE_TIFF_COMPRESSION); params.push_back(IMWRITE_TIFF_COMPRESSION_NONE); - ASSERT_TRUE(cv::imwrite(filenameOutput, img, params)); - const Mat img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(filenameOutput, img, params)); + ASSERT_TRUE(ret_imwrite); + + Mat img2; + ASSERT_NO_THROW(img2 = cv::imread(filenameOutput, IMREAD_UNCHANGED)); + ASSERT_FALSE(img2.empty()); ASSERT_EQ(img2.type(), img.type()); ASSERT_EQ(img2.size(), img.size()); EXPECT_LE(cvtest::norm(img, img2, NORM_INF | NORM_RELATIVE), 1e-3); @@ -777,7 +812,8 @@ TEST(Imgcodecs_Tiff, read_palette_color_image) const string root = cvtest::TS::ptr()->get_data_path(); const string filenameInput = root + "readwrite/test_palette_color_image.tif"; - const Mat img = cv::imread(filenameInput, IMREAD_UNCHANGED); + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_8UC3, img.type()); } @@ -787,7 +823,8 @@ 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); + Mat img; + ASSERT_NO_THROW(img = cv::imread(filenameInput, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(CV_8UC3, img.type()); } @@ -825,9 +862,12 @@ TEST(Imgcodecs_Tiff, readWrite_predictor) params.push_back(IMWRITE_TIFF_PREDICTOR); params.push_back(IMWRITE_TIFF_PREDICTOR_HORIZONTAL); - EXPECT_NO_THROW(cv::imwrite(out, mat, params)); + bool ret_imwrite = false; + ASSERT_NO_THROW(ret_imwrite = cv::imwrite(out, mat, params)); + ASSERT_TRUE(ret_imwrite); - const Mat img = cv::imread(out, IMREAD_UNCHANGED); + Mat img; + ASSERT_NO_THROW(img = cv::imread(out, IMREAD_UNCHANGED)); ASSERT_FALSE(img.empty()); ASSERT_EQ(0, cv::norm(mat, img, cv::NORM_INF));