1、实验一 图像的灰度映射一、实验学时 2 学时二、实验目的(一)掌握灰度图像的反色技术;(二)掌握灰度图像的线性变换。三、预习要求熟悉并掌握 windows 位图结构,熟悉 DIB 位图类的接口。四、实验内容在点运算接口中实现灰度图像的反色和线性变换。点运算接口的文件名:PointTrans.cpp。函数名:LinerTrans(),各个参数的定义如下:/* 函数名称:* LinerTrans()* 参数:* LPSTR lpDIBBits - 指向源 DIB 图像指针* LONG lWidth - 源图像宽度(象素数)* LONG lHeight - 源图像高度(象素数)* FLOAT fA
2、- 线性变换的斜率* FLOAT fB - 线性变换的截距* 返回值:* BOOL - 成功返回 TRUE,否则返回 FALSE。* 说明:* 该函数用来对图像进行灰度的反色和线性变换操作。*/BOOL WINAPI LinerTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT fA, FLOAT fB)/ 指向源图像的指针unsigned char* lpSrc;/ 循环变量LONG i;LONG j;/ 图像每行的字节数LONG lLineBytes;/ 中间变量FLOAT fTemp;/ 计算图像每行的字节数lLineBytes = WIDTHBYTES(lWidth * 8);/ 学生写的代码部分for(i=0;i255)*lpSrc=255;else if(fTemp0)*lpSrc=0;else*lpSrc=(unsigned char)(fTemp+0.5);/ 返回return TRUE;五、实验注意事项要注意灰度图像反色和线性变换时,函数接口的截距和斜率的不同传值。六、思考题线性变换函数实现时,对于 8 位位图,处理结果的灰度数据范围有什么限制?程序中要做怎样的处理?