原理
图像灰度的线性变换是图像点运算中最简单的运算之一。图像灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。灰度变换的方程为
Db=f(Da)=fA*Da+fB
式中参数fA为线性函数的斜率,fB为线性函数在 y 轴的截距,Da表示输入图像的灰度,Db表示输出图像的灰度。
线性变换的代码
ICETEKDM6437B2LineTrans(src, dst + inputHeight/2 * inputWidth*2 + inputWidth/2*2, inputWidth, inputWidth/2, inputHeight/2);
void ICETEKDM6437B2LineTrans(unsigned char * src, unsigned char * dst, short nPixelsPerLines, short nDisWinWidth, short nDisWinHeight)
{
int mi,mj;
float fWork;
for(mj = 0 ; mj < nDisWinHeight ; mj++)
{
for ( mi=0;mi {
*dst++ = 0x80;src++;
fWork = fa * (*src++) + fb;//fa,fb是常量
if(fWork > 255)
*dst++ = 255;
else if(fWork < 0)
*dst++ = 0;
else
*dst++ = fWork + 0.5f;
}
src += (nPixelsPerLines - nDisWinWidth) * 2;
dst += (nPixelsPerLines - nDisWinWidth) * 2;
}
}
阅读(5782) | 评论(0) | 转发(0) |