zoukankan      html  css  js  c++  java
  • 中值滤波

     

     

    中值滤波

    中值滤波也是消除图像噪声最常见的手段之一,特别是消除椒盐噪声,中值滤波的效果要比均值滤波更好。中值滤波是跟均值滤波唯一不同是,不是用均值来替换中心每个像素,而是将周围像素和中心像素排序以后,取中值,一个3X3大小的中值滤波如下:

      

    //中值滤波
    var medianCounter;

    function median(imgData, size) {
    if (!medianCounter) medianCounter = 0;
    pixelData = tmppixelData = imgData.data,
    size = size || 3;
    for (var i = 0; i < canvas.height; i++) {
    for (var j = 0; j < canvas.width; j++) {
    var tempR = [],
    tempG = [],
    tempB = [];
    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;
    tempR.push(tmppixelData[p * 4 + 0])
    tempG.push(tmppixelData[p * 4 + 1])
    tempB.push(tmppixelData[p * 4 + 2])
    }
    }
    tempR.sort();
    tempG.sort();
    tempB.sort();
    var index = ~~((size * size) / 2);
    var p = i * canvas.width + j;
    pixelData[p * 4 + 0] = tempR[index];
    pixelData[p * 4 + 1] = tempG[index];
    pixelData[p * 4 + 2] = tempB[index];
    }
    }
    imgData.data = pixelData;
    medianCounter++;
    //迭代次数
    if (medianCounter == 1) {
    return imgData;

    } else {
    return median(imgData, size)
    }
    }
  • 相关阅读:
    Windows7发生VS2005无法调试Web项目《转》
    压缩SQL Server 2005指定数据库文件和日志
    .net开源工具Zed
    oracle 开发手册
    sql server 日期函数第一天
    相对应的汉语拼音首字母串<收藏>
    oracle 触发器使用《收藏》
    Oracle三种集合数据类型的比较
    sql server 系统表
    chart
  • 原文地址:https://www.cnblogs.com/ckAng/p/10904390.html
Copyright © 2011-2022 走看看