均值滤波参考程序
function average(imgData, size) {pixelData = tmppixelData = imgData.data,
size = size || 3;
var count = Math.pow(size, 2);
for (var i = 0; i < canvas.height; i++) {
for (var j = 0; j < canvas.width; j++) {
var totalr = 0,
totalg = 0,
totalb = 0;
for (var dx = 0; dx < size; dx++) {
for (var dy = 0; dy < size; dy++) {
var x = i + dx;
var y = j + dy;
var p = x * canvas.width + y;
totalr += tmppixelData;
totalg += tmppixelData;
totalb += tmppixelData;
}
}
var p = i * canvas.width + j;
var avgr = totalr / count;
var avgg = totalg / count;
var avgb = totalb / count;
pixelData = avgr;
pixelData = avgg;
pixelData = avgb;
}
}
imgData.data = pixelData;
return imgData;
} 均值滤波参考程序
页:
[1]