///|
pub fn add_salt_pepper(
src : GrayImage,
seed~ : UInt,
amount_per_1000~ : Int,
) -> GrayImage {
let rng = Rng::new(seed)
let out = src.copy()
let amount = clamp(amount_per_1000, low=0, high=1000)
for y in 0.. GrayImage {
let rng = Rng::new(seed)
src.map(fn(v) { v + rng.signed(magnitude) })
}
///|
pub fn box_blur(src : GrayImage, radius : Int) -> GrayImage {
let r = max_i(0, radius)
let out = GrayImage::new(width=src.width, height=src.height)
for y in 0.. GrayImage {
let r = max_i(0, radius)
let out = GrayImage::new(width=src.width, height=src.height)
for y in 0.. GrayImage {
let out = src.copy()
out.fill_rect(rect, gray)
out
}