From d88271439cd26440869152117ed7e92a2be7b954 Mon Sep 17 00:00:00 2001 From: VilNeo <23380339+VilNeo@users.noreply.github.com> Date: Sun, 27 Aug 2023 11:20:12 +0200 Subject: [PATCH] Randomize noise Gaussian and salt/pepper noise are generated with random seeds. --- src/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 840d10b..0ad6d6f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,6 +20,7 @@ //! ``` use image::DynamicImage; use imageproc::noise::{gaussian_noise_mut, salt_and_pepper_noise_mut}; +use rand::Rng; use crate::captcha::{cyclic_write_character, draw_interference_ellipse, draw_interference_line, get_image, to_base64_str}; @@ -125,8 +126,9 @@ impl CaptchaBuilder { draw_interference_ellipse(2, &mut image, dark_mode); if complexity > 1 { - gaussian_noise_mut(&mut image, (complexity - 1) as f64, ((5 * complexity) - 5) as f64, ((5 * complexity) - 5) as u64); - salt_and_pepper_noise_mut(&mut image, (0.002 * complexity as f64) - 0.002, (0.5 * complexity as f64) as u64); + let mut rng = rand::thread_rng(); + gaussian_noise_mut(&mut image, (complexity - 1) as f64, ((5 * complexity) - 5) as f64, rng.gen()); + salt_and_pepper_noise_mut(&mut image, (0.002 * complexity as f64) - 0.002, rng.gen()); } Captcha {