aboutsummaryrefslogtreecommitdiff
path: root/imageutil.hpp
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2022-09-18 01:52:26 -0400
committerGravatar Chris Xiong <chirs241097@gmail.com> 2022-09-18 01:52:26 -0400
commit4401f681d33f534a7d7ef8f4f940bd54b60710c3 (patch)
treed393f5fa9b5c7e96eae94e3986c40f9d80777818 /imageutil.hpp
parentf02cb7bf4978ec0fa1eea4ed0b21460b7637d741 (diff)
downloaddeduper-4401f681d33f534a7d7ef8f4f940bd54b60710c3.tar.xz
Move stuff around to accommodate new family members.
Diffstat (limited to 'imageutil.hpp')
-rw-r--r--imageutil.hpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/imageutil.hpp b/imageutil.hpp
deleted file mode 100644
index f3831b0..0000000
--- a/imageutil.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//Chris Xiong 2022
-//License: MPL-2.0
-#ifndef IMAGEUTIL_HPP
-#define IMAGEUTIL_HPP
-
-#include <cmath>
-#include <cstdlib>
-#include <filesystem>
-#include <vector>
-#include <opencv2/core.hpp>
-
-#include "compressed_vector.hpp"
-
-#define sqr(x) ((x) * (x))
-
-namespace image_util
-{
- cv::Mat crop(cv::InputArray s, double contrast_threshold, double max_crop_ratio);
- cv::Range crop_axis(cv::InputArray s, int axis, double contrast_threshold, double max_crop_ratio);
- double median(std::vector<double> &v);
- cv::Mat blend_white(cv::Mat m);
- cv::Mat imread_path(const std::filesystem::path &p, int flags);
-
- template<class T, int B>
- static double length(const compressed_vector<T, B> &v, T center)
- {
- double ret = 0;
- for (size_t i = 0; i < v.size(); ++i)
- {
- ret += sqr(1. * v.get(i) - center);
- }
- return sqrt(ret);
- }
- template<class T, int B>
- static double distance(const compressed_vector<T, B> &v1, const compressed_vector<T, B> &v2)
- {
- //assert(v1.size() == v2.size())
- double ret = 0;
- for (size_t i = 0; i < v1.size(); ++i)
- {
- if (abs((int)v1.get(i) - (int)v2.get(i)) == 2 && (v1.get(i) == 2 || v2.get(i) == 2))
- ret += 9;
- else
- ret += sqr(1. * v1.get(i) - v2.get(i));
- }
- return sqrt(ret);
- }
- static double length(const std::vector<uint8_t> &v, uint8_t center)
- {
- double ret = 0;
- for (size_t i = 0; i < v.size(); ++i)
- {
- ret += sqr(1. * v[i] - center);
- }
- return sqrt(ret);
- }
- static double distance(const std::vector<uint8_t> &v1, const std::vector<uint8_t> &v2)
- {
- //assert(v1.size() == v2.size())
- double ret = 0;
- for (size_t i = 0; i < v1.size(); ++i)
- {
- if (abs((int)v1[i] - (int)v2[i]) == 2 && (v1[i] == 2 || v2[i] == 2))
- ret += 9;
- else
- ret += sqr(1. * v1[i] - v2[i]);
- }
- return sqrt(ret);
- }
-};
-
-#endif