aboutsummaryrefslogtreecommitdiff
path: root/imageutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'imageutil.cpp')
-rw-r--r--imageutil.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/imageutil.cpp b/imageutil.cpp
index b3609d4..fd78ccf 100644
--- a/imageutil.cpp
+++ b/imageutil.cpp
@@ -1,8 +1,12 @@
#include <algorithm>
#include <cmath>
+#include <fstream>
#include <iterator>
#include <limits>
//#include <cstdio>
+
+#include <opencv2/imgcodecs.hpp>
+
#include "imageutil.hpp"
//libpuzzle uses a contrast-based cropping, and clamps the cropped area to a given percentage.
@@ -111,3 +115,15 @@ cv::Mat image_util::blend_white(cv::Mat m)
}
return ret;
}
+
+cv::Mat image_util::imread_path(const std::filesystem::path &p, int flags)
+{
+ auto size = std::filesystem::file_size(p);
+ std::fstream fst(p, std::ios::binary | std::ios::in);
+ std::vector<char> dat;
+ dat.resize(size);
+ fst.read(dat.data(), size);
+ fst.close();
+ cv::Mat img = cv::imdecode(dat, flags);
+ return img;
+}