diff --git a/tasks/example_processes/data/pic.jpg b/tasks/example_processes/data/pic.jpg index 344580234..637624238 100644 Binary files a/tasks/example_processes/data/pic.jpg and b/tasks/example_processes/data/pic.jpg differ diff --git a/tasks/example_processes/tests/functional/main.cpp b/tasks/example_processes/tests/functional/main.cpp index d3f5f3795..23e91e3fd 100644 --- a/tasks/example_processes/tests/functional/main.cpp +++ b/tasks/example_processes/tests/functional/main.cpp @@ -32,13 +32,14 @@ class NesterovARunFuncTestsProcesses : public ppc::util::BaseRunFuncTests img; - // Read image + // Read image in RGB to ensure consistent channel count { std::string abs_path = ppc::util::GetAbsoluteTaskPath(PPC_ID_example_processes, "pic.jpg"); - auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, 0); + auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, STBI_rgb); if (data == nullptr) { throw std::runtime_error("Failed to load image: " + std::string(stbi_failure_reason())); } + channels = STBI_rgb; img = std::vector(data, data + (static_cast(width * height * channels))); stbi_image_free(data); if (std::cmp_not_equal(width, height)) { diff --git a/tasks/example_processes_2/data/pic.jpg b/tasks/example_processes_2/data/pic.jpg index 344580234..637624238 100644 Binary files a/tasks/example_processes_2/data/pic.jpg and b/tasks/example_processes_2/data/pic.jpg differ diff --git a/tasks/example_processes_2/tests/functional/main.cpp b/tasks/example_processes_2/tests/functional/main.cpp index ff3442fda..dbe2b0c47 100644 --- a/tasks/example_processes_2/tests/functional/main.cpp +++ b/tasks/example_processes_2/tests/functional/main.cpp @@ -32,13 +32,14 @@ class NesterovARunFuncTestsProcesses2 : public ppc::util::BaseRunFuncTests img; - // Read image + // Read image in RGB to ensure consistent channel count { std::string abs_path = ppc::util::GetAbsoluteTaskPath(PPC_ID_example_processes_2, "pic.jpg"); - auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, 0); + auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, STBI_rgb); if (data == nullptr) { throw std::runtime_error("Failed to load image: " + std::string(stbi_failure_reason())); } + channels = STBI_rgb; img = std::vector(data, data + (static_cast(width * height * channels))); stbi_image_free(data); if (std::cmp_not_equal(width, height)) { diff --git a/tasks/example_processes_3/data/pic.jpg b/tasks/example_processes_3/data/pic.jpg index 344580234..637624238 100644 Binary files a/tasks/example_processes_3/data/pic.jpg and b/tasks/example_processes_3/data/pic.jpg differ diff --git a/tasks/example_processes_3/tests/functional/main.cpp b/tasks/example_processes_3/tests/functional/main.cpp index 99e5a5b15..20a89ea79 100644 --- a/tasks/example_processes_3/tests/functional/main.cpp +++ b/tasks/example_processes_3/tests/functional/main.cpp @@ -32,13 +32,14 @@ class NesterovARunFuncTestsProcesses3 : public ppc::util::BaseRunFuncTests img; - // Read image + // Read image in RGB to ensure consistent channel count { std::string abs_path = ppc::util::GetAbsoluteTaskPath(PPC_ID_example_processes_3, "pic.jpg"); - auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, 0); + auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, STBI_rgb); if (data == nullptr) { throw std::runtime_error("Failed to load image: " + std::string(stbi_failure_reason())); } + channels = STBI_rgb; img = std::vector(data, data + (static_cast(width * height * channels))); stbi_image_free(data); if (std::cmp_not_equal(width, height)) { diff --git a/tasks/example_threads/data/pic.jpg b/tasks/example_threads/data/pic.jpg index 344580234..637624238 100644 Binary files a/tasks/example_threads/data/pic.jpg and b/tasks/example_threads/data/pic.jpg differ diff --git a/tasks/example_threads/tests/functional/main.cpp b/tasks/example_threads/tests/functional/main.cpp index b445c09eb..2e99e7bf6 100644 --- a/tasks/example_threads/tests/functional/main.cpp +++ b/tasks/example_threads/tests/functional/main.cpp @@ -35,13 +35,14 @@ class NesterovARunFuncTestsThreads : public ppc::util::BaseRunFuncTests img; - // Read image + // Read image in RGB to ensure consistent channel count { std::string abs_path = ppc::util::GetAbsoluteTaskPath(std::string(PPC_ID_example_threads), "pic.jpg"); - auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, 0); + auto *data = stbi_load(abs_path.c_str(), &width, &height, &channels, STBI_rgb); if (data == nullptr) { throw std::runtime_error("Failed to load image: " + std::string(stbi_failure_reason())); } + channels = STBI_rgb; img = std::vector(data, data + (static_cast(width * height * channels))); stbi_image_free(data); if (std::cmp_not_equal(width, height)) { @@ -67,8 +68,7 @@ class NesterovARunFuncTestsThreads : public ppc::util::BaseRunFuncTests