下载此文档

chp5 直方图修正和彩色变换.doc


文档分类:IT计算机 | 页数:约32页 举报非法文档有奖
1/ 32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/ 32 下载此文档
文档列表 文档介绍
第5章直方图修正和彩色变换
这一章,我们主要和调色板打交道。先从最简单的反色讲起。
反色
反色(invert)就是形成底片效果。例如,。
     原图
    
反色有时是很有用的,比如,,这样打印起来很费墨,我们可以先进行反色处理后再打印。
反色的实际含义是将R、G、B值反转。若颜色的量化级别是256,则新图的R、G、B值为255减去原图的R、G、B值。这里针对的是所有图,包括真彩图、带调色板的彩色图(又称为伪彩色图)、和灰度图。针对不同种类有不同的处理。
先看看真彩图。我们知道真彩图不带调色板,每个象素用3个字节,表示R、G、B三个分量。所以处理很简单,把反转后的R、G、B值写入新图即可。
再来看看带调色板的彩色图,我们知道位图中的数据只是对应调色板中的一个索引值,我们只需要将调色板中的颜色反转,形成新调色板,而位图数据不用动,就能够实现反转。
灰度图是一种特殊的伪彩色图,只不过调色板中的R、G、B值都是一样的而已。所以反转的处理和上面讲的一样。
这里,我想澄清一个概念。过去我们讲二值图时,一直都说成黑白图。二值位图一定是黑白的吗?答案是不一定。,但它实际上是二值图。原来,它的调色板中的两种颜色是黑与蓝,而不是黑与白。所以说二值图也可以是彩色的,只不过一般情况下是黑白图而已。
下面的程序实现了反色,注意其中真彩图和调色板位图处理时的差别。
BOOL Invert(HWND hWnd)
{
       DWORD                             OffBits,BufSize;
LPBITMAPINFOHEADER    lpImgData;
       LPSTR                   lpPtr;
       HLOCAL                   hTempImgData;
       LPBITMAPINFOHEADER    lpTempImgData;
       LPSTR                   lpTempPtr;
       HDC                     hDc;
       HFILE                    hf;
       LONG                    x,y;
     LOGPALETTE             *pPal;
     HPALETTE                hPrevPalette=NULL;
       HLOCAL                   hPal;
       DWORD                  i;
       unsigned char              Red,Green,Blue;
       OffBits=-sizeof(BITMAPFILEHEADER);
       BufSize=OffBits+*LineBytes; //新开缓冲区的大小
       if((hTempImgData=LocalAlloc(LHND,BufSize))==NULL)
{
MessageBox(hWnd,"Error alloc memory!","Error Message",MB_OK|
MB_ICONEXCLAMATION);
return FALSE;
}
lpImgData=(LPBITMAPINFOHEADER)GlobalLock(hImgData);   
       lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData);
       //拷贝头信息
memcpy(lpTempImgData,lpImgData,BufSize);
       hDc=GetDC(hWnd);
       if(NumColors!=0){ //NumColors不为0说明是带调色板的
lpPtr=(char *)lpImgData+sizeof(BITMAPINFOHEADER);
//指向原图数据
lpTempPtr=(char *)lpTempImgData+sizeof(BITMAPINFOHEADER);
//指向新图数据
//为新调色板分配内存
hPal=LocalAlloc(LHND,si

chp5 直方图修正和彩色变换 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数 32
  • 收藏数 0 收藏
  • 顶次数 0
  • 上传人 中国课件站
  • 文件大小 0 KB
  • 时间2011-10-11
最近更新