From 1eed611c931d0b386c9c336d01b2644e97331ac0 Mon Sep 17 00:00:00 2001 From: Jules Date: Wed, 22 Apr 2015 13:54:19 -0400 Subject: hmm its in a weird state --- smartblur.js | 112 +++++++++++++++++++++++++++++------------------------------ 1 file changed, 56 insertions(+), 56 deletions(-) (limited to 'smartblur.js') diff --git a/smartblur.js b/smartblur.js index 181b1b4..1a6cebb 100644 --- a/smartblur.js +++ b/smartblur.js @@ -5,7 +5,7 @@ SmartBlurFilter = function () { var REGION_SIZE = 5 var edge_zero_fill = true - var kx = -((REGION_SIZE/2)|0), ky = -((REGION_SIZE/2)|0), klen = REGION_SIZE*REGION_SIZE + var kx = -((REGION_SIZE/2)|0), ky = -((REGION_SIZE/2)|0), klen = REGION_SIZE*REGION_SIZE var kernelArray = [ 1,1,1,1,1,1,1,1,1, @@ -29,31 +29,31 @@ SmartBlurFilter = function () { function rmsError(src, i, size) { var ave = 0; - var len = size*size, data = src.data - - var ix, iy - var r,g,b,a - var w = src.width, h = src.height - ix = i%w - iy = (i/w)|0 - it = i * 4 - r = g = b = a = 0 - for (var j = 0; j < klen; j++) { - jx = ix + j%size + kx - jy = iy + ((j/size)|0) + ky - jt = 4 * (jx + jy*w) - if (0 > jx || jx > w || 0 > jy || jy > h) { - if (edge_zero_fill) { - continue - } - jt = it - } - r += data[jt] -// g += data[jt+1] -// b += data[jt+2] -// a += data[jt+3] - } - r /= klen + var len = size*size, data = src.data + + var ix, iy + var r,g,b,a + var w = src.width, h = src.height + ix = i%w + iy = (i/w)|0 + it = i * 4 + r = g = b = a = 0 + for (var j = 0; j < klen; j++) { + jx = ix + j%size + kx + jy = iy + ((j/size)|0) + ky + jt = 4 * (jx + jy*w) + if (0 > jx || jx > w || 0 > jy || jy > h) { + if (edge_zero_fill) { + continue + } + jt = it + } + ave += data[jt] +// g += data[jt+1] +// b += data[jt+2] +// a += data[jt+3] + } + ave /= klen // g /= klen // b /= klen // a /= klen @@ -61,48 +61,48 @@ SmartBlurFilter = function () { var diff = 0 var accumulator = 0 - for (var j = 0; j < klen; j++) { - jx = ix + j%size + kx - jy = iy + ((j/size)|0) + ky - jt = 4 * (jx + jy*w) - if (0 > jx || jx > w || 0 > jy || jy > h) { - if (edge_zero_fill) { - continue - } - jt = it - } - diff = data[ jt ] - ave - diff *= diff - accumulator += diff + for (var j = 0; j < klen; j++) { + jx = ix + j%size + kx + jy = iy + ((j/size)|0) + ky + jt = 4 * (jx + jy*w) + if (0 > jx || jx > w || 0 > jy || jy > h) { + if (edge_zero_fill) { + continue + } + jt = it + } + diff = data[ jt ] - ave + diff *= diff + accumulator += diff } - var rms = accumulator / klen - rms = Math.sqrt(rms) / 255 + var rms = accumulator / klen/10 + rms = Math.sqrt(rms) // / 255 return rms } function lerpPixel( src, dest, blur, i, amt) { - dest[i] = lerp(src[i], blur[i], amt) - dest[i+1] = lerp(src[i+1], blur[i+1], amt) - dest[i+2] = lerp(src[i+2], blur[i+2], amt) - dest[i+3] = lerp(src[i+3], blur[i+3], amt) + dest[i] = lerp(src[i], blur[i], amt) + dest[i+1] = lerp(src[i+1], blur[i+1], amt) + dest[i+2] = lerp(src[i+2], blur[i+2], amt) + dest[i+3] = lerp(src[i+3], blur[i+3], amt) } function blurImage( src, dest, blur, sensitivity ) { var newPixel = 0 var amt = 0 var size = REGION_SIZE - var w = src.width, rms + var w = src.width, rms - var srcData = src.data - var destData = dest.data - var blurData = blur.data + var srcData = src.data + var destData = dest.data + var blurData = blur.data for (var i = 0, len = srcData.length/4; i < len; i++) { - rms = rmsError(src, i, size) - -// amt = rms < sensitivity ? rms/sensitivity : 1.0 - lerpPixel( srcData, destData, blurData, i*4, rms) + rms = rmsError(src, i, size) + amt = rms < sensitivity ? rms/sensitivity : 1.0 +if (1000