From 5a709f7f91768fd0dcbeeb4ffc750aa236f6be32 Mon Sep 17 00:00:00 2001 From: Sebastian Hahta <joseha@utu.fi> Date: Fri, 17 Apr 2020 13:59:40 +0300 Subject: [PATCH] middlebury: noise --- lib/libstereo/middlebury/middlebury.cpp | 10 ++++++++++ lib/libstereo/middlebury/middlebury.hpp | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/lib/libstereo/middlebury/middlebury.cpp b/lib/libstereo/middlebury/middlebury.cpp index a54b4f153..e3136325f 100644 --- a/lib/libstereo/middlebury/middlebury.cpp +++ b/lib/libstereo/middlebury/middlebury.cpp @@ -169,3 +169,13 @@ MiddEvalResult evaluate(const cv::Mat &disp, const cv::Mat >, const cv::Mat &m result.rms_bad_nonoccl = sqrt(err2_bad/n); return result; } + +void add_noise(cv::Mat &im, double stddev, double mean) { + cv::Mat noise = cv::Mat(im.size(),CV_64FC3); + cv::randn(noise, mean, stddev); + + cv::Mat tmp; + im.convertTo(tmp, CV_64FC3, 1.0/255.0); + tmp += noise; + cv::normalize(tmp, im, 0, 255, cv::NORM_MINMAX, CV_8UC3); +} diff --git a/lib/libstereo/middlebury/middlebury.hpp b/lib/libstereo/middlebury/middlebury.hpp index e2c18e02b..87d9af5d3 100644 --- a/lib/libstereo/middlebury/middlebury.hpp +++ b/lib/libstereo/middlebury/middlebury.hpp @@ -32,3 +32,12 @@ MiddEvalCalib read_calibration(const std::string &filename); MiddEvalResult evaluate(const cv::Mat &disp, const cv::Mat >, const cv::Mat &mask, float threshold=1.0f); cv::Mat read_pfm(const std::string &filename); + +/** + * Add gaussian noise to image. + * + * @param im CV_8UC3 + * @param stddev standar deviation + * @param mean mean for noise + */ +void add_noise(cv::Mat &im, double stddev, double mean=0.0); -- GitLab