Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279432
  • 博文数量: 109
  • 博客积分: 2116
  • 博客等级: 大尉
  • 技术积分: 1062
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-22 15:38
文章分类

全部博文(109)

文章存档

2013年(2)

2011年(16)

2010年(90)

2009年(1)

我的朋友

分类:

2011-01-05 10:41:03

原理
图像灰度的线性变换是图像点运算中最简单的运算之一。图像灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。灰度变换的方程为
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;
    }
}

阅读(5738) | 评论(0) | 转发(0) |
0

上一篇:基础类的DSP/BIOS API调用

下一篇:图像翻转

给主人留下些什么吧!~~