现在的位置: 首页 > 综合 > 正文

【转】图像高斯平滑

2013年10月31日 ⁄ 综合 ⁄ 共 1341字 ⁄ 字号 评论关闭

图像平滑用于去除图像中的噪声。高斯平滑,就是将每个像素的灰度值用其领域的加权平均值代替。该算法简单,能够有效去除高斯噪声。 
                   、 
平滑模板: 
          图像高斯平滑 - illidan - illidan的博客 

// 高斯平滑 
// 1. pImageData   图像数据 
// 2. nWidth       图像宽度 
// 3. nHeight      图像高度 
// 4. nWidthStep   图像行大小 
BOOL SmoothGauss(unsigned char *pImageData, int nWidth, int nHeight, int nWidthStep
{ 
    int            i            = 0
    int            j            = 0
    int            nValue       = 0
    unsigned char *pLine[3     = { NULL, NULL, NULL }; 
    int            nTemplate[9 = 
    { 
        1, 2, 1, 
        2, 4, 2, 
        1, 2, 1 
    }; 
    for (j = 1j < nHeight - 1j++
    { 
        pLine[0  = pImageData + nWidthStep * (j - 1); 
        pLine[1  = pImageData + nWidthStep * j
        pLine[2  = pImageData + nWidthStep * (j + 1); 
        for (i = 1i < nWidth - 1i++
        { 
            nValue = 
                (pLine[0][i-1 * nTemplate[0 + 
                 pLine[0][i   * nTemplate[1 + 
                 pLine[0][i+1 * nTemplate[2 + 
                 pLine[1][i-1 * nTemplate[3 + 
                 pLine[1][i   * nTemplate[4 + 
                 pLine[1][i+1 * nTemplate[5 + 
                 pLine[2][i-1 * nTemplate[6 + 
                 pLine[2][i   * nTemplate[7 + 
                 pLine[2][i+1 * nTemplate[8]) / 16
            pLine[0][i-1 = (unsigned charnValue
        } 
    } 
    return TRUE
} 

高斯平滑效果: 
 
图像高斯平滑 - illidan - illidan的博客图像高斯平滑 - illidan - illidan的博客

抱歉!评论已关闭.