码迷,mamicode.com
首页 > 其他好文 > 详细

图像处理(图像反转,对数变换,幂次变换、分段线性变换)

时间:2014-12-03 21:06:42      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   sp   for   div   log   bs   as   

1、对数变换实现了图像灰度扩展和压缩的功能。它扩展低灰度值而压缩高灰度值,让图像的灰度分布更加符合人的视觉特征。

/******************************************************************************
*    作用:        对数变换函数
*    参数: pDst     输出图像的像素数组
*    参数: pSrc     原始图像的像素数组
*    参数: nWidth   原始图像宽度
*    参数: nHeight  原始图像高度
*    参数: a           控制参数,表示曲线的上下偏移量
*    参数: b           控制参数,表示曲线的弯曲程度
*    备注:    此函数对于彩色图同样适用
******************************************************************************/
int LogTrans(BYTE* pDst, BYTE* pSrc, int nWidth, int nHeight, double a, double b)
{
    if (!pSrc || !pDst)
    {
        return EXIT_FAILURE;
    }

    // 映射表,用于256种灰度变换后的值
    BYTE map[256];

    // 保存运算后的临时值
    double dTemp;
    int i, j;
    for (i = 0; i < 256; i++)
    {
        // 计算当前像素变换后的值
        dTemp = log((double)i + 1.0) / b + a;

        // 如果超界则修改其值
        if (dTemp < 0)
            dTemp = 0.0;
        else if (dTemp > 255)
            dTemp = 255;

        // 四舍五入
        map[i] = int(dTemp + 0.5);
    }

    for (i = 0; i < nWidth * nHeight; i++)
    {    
        for (j = 0; j < 4; j++)
            pDst[i*4+j] = map[ pSrc[i*4+j] ];
    }

    return EXIT_SUCCESS;
}

 

 

图像处理(图像反转,对数变换,幂次变换、分段线性变换)

标签:style   blog   color   sp   for   div   log   bs   as   

原文地址:http://www.cnblogs.com/Qianqian-Dong/p/4141146.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!