Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def multiplyWithFilter(
- x: Int,
- y: Int,
- image: Image,
- filter: Array[Array[Int]],
- divisor: Int): Color = {
- val filterSize = filter.size
- val centre = filterSize / 2
- var sum = new Color(0, 0, 0) // alustetaan musta väri summaa varten
- for {
- i <- 0 until filterSize
- j <- 0 until filterSize
- } {
- // aluksi mennään imagen datassa puolet filtterin koosta taaksepäin
- // jonka jälkeen summaan lisätään datan pisteet * filtterin arvo vastaavassa kohdassa
- val toAdd = image.data(x + i)(y + j) * filter(i)(j)
- sum += toAdd
- }
- (new Color(sum.r / divisor, sum.g / divisor, sum.b / divisor)).clamp // lopuksi jaetaan kaikki jakajalla
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement