【精品】彩色图像处理PPT.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【精品】彩色图像处理PPT

基于MATLAB的彩色图像平滑处理设计;第6章 彩色图像处理;第6章 彩色图像处理;第6章 彩色图像处理;6.1 彩色基础;6.1 彩色基础;6.1 彩色基础;6.1 彩色基础;6.1 彩色基础;6.1 彩色基础;6.1 彩色基础;6.2 彩色模型;6.2 彩色模型;6.2.1 RGB彩色模型;6.2.1 RGB彩色模型;6.2.1 RGB彩色模型;6.2.1 RGB彩色模型;6.2.2 CMY和CMYK模型;6.2.2 CMY和CMYK模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;6.2.3 HSI彩色模型;补充内容;用CImage快速存取像素值;BYTE* p = (BYTE*)image-GetPixelAddress(x,y);//取像素值地址 RGBQUAD rgb; if( image-IsIndexed() ) {// 如果是索引图 int ncolors = image-GetMaxColorTableEntries();//取调色板颜色数 RGBQUAD *pColorTable = new RGBQUAD[ncolors]; image-GetColorTable(0, ncolors, pColorTable );//取调色板 rgb = pColorTable[*p];//得到像素值 delete [] pColorTable; } else{ // 非索引图,24位以上 rgb.rgbBlue = *p++; rgb.rgbGreen = *p++; rgb.rgbRed = *p++; if(image-GetBPP() 24) rgb.rgbReserved = *p; };用CImage快速存取像素值;//取与颜色c最接近的调色板索引值,适用于索引图像 BYTE GetNearestIndex(const CImage* pImgSrc,RGBQUAD c) { if ((!pImgSrc)||(pImgSrc-IsIndexed()==false)) return 0; int ncolors = pImgSrc-GetMaxColorTableEntries();//取调色板颜色数目 RGBQUAD *prgbColors = new RGBQUAD[ncolors]; pImgSrc-GetColorTable(0,ncolors,prgbColors);//取调色板 long distance = 200000; int i,j = 0; long k; RGBQUAD color; for(i=0;i ncolors;i++){ color = prgbColors[i]; k = (color.rgbBlue - c.rgbBlue)*(color.rgbBlue - c.rgbBlue)+ (color.rgbGreen - c.rgbGreen)*(color.rgbGreen - c.rgbGreen)+ (color.rgbRed - c.rgbRed)*(color.rgbRed - c.rgbRed); if (k == 0){ j = i; break; } if (k distance){ distance = k; j = i; } } delete prgbColors; return (BYTE)j; };//设置坐标为(x,y)的像素的颜色为c,适用于索引图像和非索引图像(非索引图像取和c值最接近的值) void SetPixelColor(CImage* pImgSrc,long x,long y,RGBQUAD c) { if ((!pImgSrc)||(x 0)||(y 0)||(x = pImgSrc-GetWidth())||(y = pImgSrc-GetHeight())) return; if (pImgSrc-IsIndexed())//索引图像 SetPixelIndex(pImgSrc,x,y,GetNearestIndex(pImgSrc,c)); else {//非索引图像 BYTE* iDst = (BYTE*)pImgSrc-GetPixelAddress(x,y); *iDst++ = c.rgbBlue; *iDst++ = c.rgbGreen; *iDst++ = c.rgbRed;

您可能关注的文档

文档评论(0)

djdjix + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档