This commit is contained in:
Louis Heredero 2023-12-04 21:32:30 +01:00
parent 0a7a647126
commit 0943bfa193
2 changed files with 6 additions and 0 deletions

View File

@ -68,4 +68,8 @@ object ImageFilters {
(Math.sqrt(dx*dx + dy*dy)*intensityFactor).toInt (Math.sqrt(dx*dx + dy*dy)*intensityFactor).toInt
} }
}) })
def noise(a: Array[Array[Int]], intensity: Double): Array[Array[Int]] = filter(a, (value) => {
Math.max(0, Math.min(255, value + (Math.random()*2-1)*intensity)).toInt
})
} }

View File

@ -31,10 +31,12 @@ object ImageProcessingApp extends App {
val blur = new ImageGraphics(imageFile, "Blurred", -768, 0) val blur = new ImageGraphics(imageFile, "Blurred", -768, 0)
val edges = new ImageGraphics(imageFile, "Edge detection", -256, 0) val edges = new ImageGraphics(imageFile, "Edge detection", -256, 0)
val sobel = new ImageGraphics(imageFile, "Sobel", 256, 0) val sobel = new ImageGraphics(imageFile, "Sobel", 256, 0)
val noise = new ImageGraphics(imageFile, "Noise", -768, 512)
bw.setPixelsBW(ImageFilters.duplicate(org.getPixelsBW())) bw.setPixelsBW(ImageFilters.duplicate(org.getPixelsBW()))
threshold.setPixelsBW(ImageFilters.threshold(org.getPixelsBW(), 128)) threshold.setPixelsBW(ImageFilters.threshold(org.getPixelsBW(), 128))
blur.setPixelsBW(ImageFilters.mean(org.getPixelsBW(), 3)) blur.setPixelsBW(ImageFilters.mean(org.getPixelsBW(), 3))
edges.setPixelsBW(ImageFilters.edges(org.getPixelsBW())) edges.setPixelsBW(ImageFilters.edges(org.getPixelsBW()))
sobel.setPixelsBW(ImageFilters.sobel(org.getPixelsBW(), 0.3)) sobel.setPixelsBW(ImageFilters.sobel(org.getPixelsBW(), 0.3))
noise.setPixelsBW(ImageFilters.noise(org.getPixelsBW(), 30))
} }