标签: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