1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-06 19:36:26 +02:00

[CCV] Prevented unintended modifications of matrices

Signed-off-by: Jim Martens <github@2martens>
This commit is contained in:
2017-05-07 16:40:47 +02:00
parent d20a86dc97
commit 1410e1f560
2 changed files with 9 additions and 10 deletions

View File

@ -4,14 +4,13 @@ gauss_pyramid::gauss_pyramid() {}
gauss_pyramid::gauss_pyramid(cv::Mat img, float sigma, int number_of_layers) gauss_pyramid::gauss_pyramid(cv::Mat img, float sigma, int number_of_layers)
{ {
_layers.push_back(img);
cv::Mat blurredImage; cv::Mat blurredImage;
cv::Mat resizedImage = img; cv::Mat resizedImage = img.clone();
for (int i = 1; i < number_of_layers; i++) for (int i = 0; i < number_of_layers; i++)
{ {
cv::GaussianBlur(resizedImage, blurredImage, cv::Size(0, 0), sigma, sigma, cv::BORDER_REPLICATE); cv::GaussianBlur(resizedImage, blurredImage, cv::Size(0, 0), sigma, sigma, cv::BORDER_REPLICATE);
_layers.push_back(blurredImage.clone());
cv::resize(blurredImage, resizedImage, cv::Size(), 0.5, 0.5, cv::INTER_NEAREST); cv::resize(blurredImage, resizedImage, cv::Size(), 0.5, 0.5, cv::INTER_NEAREST);
_layers.push_back(resizedImage);
} }
} }

View File

@ -71,10 +71,10 @@ void lab_pyramid::compute_dog(lab_pyramid center, lab_pyramid surround, int numb
cv::Mat dog_final_cs_L; cv::Mat dog_final_cs_L;
cv::Mat dog_final_sc_L; cv::Mat dog_final_sc_L;
cv::threshold(dog_raw_cs_L, dog_final_cs_L, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_cs_L, dog_final_cs_L, 0, 1, cv::THRESH_TOZERO);
_cs_contrast_l.push_back(dog_final_cs_L); _cs_contrast_l.push_back(dog_final_cs_L.clone());
cv::Mat dog_raw_sc_L = surround_layer_mat_L - center_layer_mat_L; cv::Mat dog_raw_sc_L = surround_layer_mat_L - center_layer_mat_L;
cv::threshold(dog_raw_sc_L, dog_final_sc_L, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_sc_L, dog_final_sc_L, 0, 1, cv::THRESH_TOZERO);
_sc_contrast_l.push_back(dog_final_sc_L); _sc_contrast_l.push_back(dog_final_sc_L.clone());
// A channel // A channel
cv::Mat center_layer_mat_a = center_a.get(layer); cv::Mat center_layer_mat_a = center_a.get(layer);
@ -83,10 +83,10 @@ void lab_pyramid::compute_dog(lab_pyramid center, lab_pyramid surround, int numb
cv::Mat dog_final_cs_a; cv::Mat dog_final_cs_a;
cv::Mat dog_final_sc_a; cv::Mat dog_final_sc_a;
cv::threshold(dog_raw_cs_a, dog_final_cs_a, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_cs_a, dog_final_cs_a, 0, 1, cv::THRESH_TOZERO);
_cs_contrast_a.push_back(dog_final_cs_a); _cs_contrast_a.push_back(dog_final_cs_a.clone());
cv::Mat dog_raw_sc_a = surround_layer_mat_a - center_layer_mat_a; cv::Mat dog_raw_sc_a = surround_layer_mat_a - center_layer_mat_a;
cv::threshold(dog_raw_sc_a, dog_final_sc_a, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_sc_a, dog_final_sc_a, 0, 1, cv::THRESH_TOZERO);
_sc_contrast_a.push_back(dog_final_sc_a); _sc_contrast_a.push_back(dog_final_sc_a.clone());
// B channel // B channel
cv::Mat center_layer_mat_b = center_b.get(layer); cv::Mat center_layer_mat_b = center_b.get(layer);
@ -95,10 +95,10 @@ void lab_pyramid::compute_dog(lab_pyramid center, lab_pyramid surround, int numb
cv::Mat dog_final_cs_b; cv::Mat dog_final_cs_b;
cv::Mat dog_final_sc_b; cv::Mat dog_final_sc_b;
cv::threshold(dog_raw_cs_b, dog_final_cs_b, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_cs_b, dog_final_cs_b, 0, 1, cv::THRESH_TOZERO);
_cs_contrast_b.push_back(dog_final_cs_b); _cs_contrast_b.push_back(dog_final_cs_b.clone());
cv::Mat dog_raw_sc_b = surround_layer_mat_b - center_layer_mat_b; cv::Mat dog_raw_sc_b = surround_layer_mat_b - center_layer_mat_b;
cv::threshold(dog_raw_sc_b, dog_final_sc_b, 0, 1, cv::THRESH_TOZERO); cv::threshold(dog_raw_sc_b, dog_final_sc_b, 0, 1, cv::THRESH_TOZERO);
_sc_contrast_b.push_back(dog_final_sc_b); _sc_contrast_b.push_back(dog_final_sc_b.clone());
} }
} }