#include "hdrplus/hdrplus_pipeline.h" int main( int argc, char** argv ) { int rotation = atoi(argv[1]); bool frontCamera = atoi(argv[2]) != 0; std::vector paths; for (int idx = 4; idx < argc; idx++) { paths.push_back(argv[idx]); } cv::Mat mat; hdrplus::hdrplus_pipeline pipeline; pipeline.run_pipeline( paths, 0, mat); if (mat.empty()) { printf("run_pipeline return empty mat"); } mat = hdrplus::convert16bit2_8bit_(mat.clone()); if (rotation >= 0) { if (rotation == 0) { cv::Mat tempPic; cv::transpose(mat, tempPic); cv::flip(tempPic, mat, 0); } else if (rotation == 1) { cv::Mat tempPic; cv::transpose(mat, tempPic); cv::flip(tempPic, mat, 1); } else if (rotation == 2) { if (frontCamera) { cv::flip(mat, mat, 0); } else { cv::flip(mat, mat, -1); } } else if (rotation == 3) { cv::Mat tempPic; cv::transpose(mat, tempPic); cv::flip(tempPic, mat, 0); } } cv::cvtColor(mat, mat, cv::COLOR_RGB2BGR); if (mat.empty()) { printf("mat is empty before save"); } bool res = cv::imwrite(argv[3], mat); if (!res) { printf("Failed to write file %s", argv[3]); } return 0; }