From 9dde2ab53c8e2c97647164fce89cf149260fbc8f Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Sun, 12 Jan 2025 11:50:34 +0100 Subject: implement calibration --- imagealgos.cpp | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) (limited to 'imagealgos.cpp') diff --git a/imagealgos.cpp b/imagealgos.cpp index 267e4ae..98d5fb0 100644 --- a/imagealgos.cpp +++ b/imagealgos.cpp @@ -7,23 +7,24 @@ #include #include -#include #include #include #include -#include #include -// #include - -#include "fuck_intel.h" -#include "genetic_algos.h" #include "macro.h" uint8_t pgm_image[64 + img_width * img_height * sizeof(uint16_t)]; size_t pgm_image_size = 0; std::mutex pgm_image_mtx; +template +T median3(const T &a, const T &b, const T &c) +{ + using namespace std; + return max(min(a, b), min(max(a, b), c)); +} + size_t pgm_save(Image *img, FILE *outfile, bool really_save) { std::lock_guard lg(pgm_image_mtx); @@ -279,27 +280,6 @@ Pixels process_columns(Image &image) return result; } -Pixels& Pixels::operator+=(const Pixels& other) -{ - std::transform(std::execution::par, - pixels.begin(), pixels.end(), - other.pixels.begin(), - pixels.begin(), - // [](auto& toAdd) { return dst += src; }); - std::plus<>()); - - return *this; -} - -Pixels& Pixels::operator/=(const float divider) -{ - std::for_each(std::execution::par_unseq, - pixels.begin(), pixels.end(), - [divider](auto& pixel) { pixel /= divider; }); - - return *this; -} - QList pixelsToLines(const Pixels &rawProfile) { const auto& pixels = rawProfile.pixels; -- cgit v1.2.3-70-g09d2