下载本文示例代码
[引言] 数字图像的增强工作,主要是对于原有图像中需要重点观测内容进行突出,而对非重点观测内容则进行抑制。本文主要介绍两种效用较为明显的方法:1. 直方图的均衡化。2.伪彩色方法。其余的方法,如对比度线性展宽,灰级窗等相对容易,具体请参考相关资料。 [直方图的均衡化方法] 直方图均衡化的方法的主要目的,简单说来,就是将原来出现频率较高的像素范围进行展宽,而对出现频率较低的像素,则尽可能的将其像素范围进行压缩,以期达到突出画面主要内容的目的。 具体来说,图像均衡化的方法如下: 直方图的均衡化算法实现:
void BMParse::equalizeOp(HDC inHdc,int offsetX,int offsetY){ //0.Inner value int arrHists[256]; float pArr[256]; int i,j; long totalHistVal; //0.Valuable declaration unsigned long outputPixel; int tmpTableVal; //1.cal each grey value's fequence for(i=0;i<256;i ) arrHists[i]=0; for(j=0;j<MBMFILEINFO.BMHEIGHT;J ) for(i=0;i<MBMFILEINFO.BMWIDTH;I ) { arrHists[bmpBWMatrix[j][i]] ; } //2.cal total hist value totalHistVal=0; for(i=0;i<256;i ) totalHistVal =arrHists[i]; //3.cal pi pArr[0]=0; for(i=1;i<256;i ) pArr[i]=pArr[i-1] (float)arrHists[i]/(float)totalHistVal; //4.show out adjusted picture: for(i=0;i<MBMFILEINFO.BMHEIGHT;I ) for(j=0;j<MBMFILEINFO.BMWIDTH;J ) { tmpTableVal=255*pArr[bmpBWMatrix[i][j]]; //make to windows color format outputPixel=((unsigned long)paletteArr[tmpTableVal].b)*65536 ((unsigned long)paletteArr[tmpTableVal].g)*256 (unsigned long)paletteArr[tmpTableVal].r; //output pixel SetPixel(inHdc,j offsetX,i offsetY,outputPixel); } } 图1:庙宇原像 图2:庙宇均衡化后的图像共2页。 1 2 8 :
[引言] 数字图像的增强工作,主要是对于原有图像中需要重点观测内容进行突出,而对非重点观测内容则进行抑制。本文主要介绍两种效用较为明显的方法:1. 直方图的均衡化。2.伪彩色方法。其余的方法,如对比度线性展宽,灰级窗等相对容易,具体请参考相关资料。 [直方图的均衡化方法] 直方图均衡化的方法的主要目的,简单说来,就是将原来出现频率较高的像素范围进行展宽,而对出现频率较低的像素,则尽可能的将其像素范围进行压缩,以期达到突出画面主要内容的目的。 具体来说,图像均衡化的方法如下: 直方图的均衡化算法实现:
void BMParse::equalizeOp(HDC inHdc,int offsetX,int offsetY){ //0.Inner value int arrHists[256]; float pArr[256]; int i,j; long totalHistVal; //0.Valuable declaration unsigned long outputPixel; int tmpTableVal; //1.cal each grey value's fequence for(i=0;i<256;i ) arrHists[i]=0; for(j=0;j<MBMFILEINFO.BMHEIGHT;J ) for(i=0;i<MBMFILEINFO.BMWIDTH;I ) { arrHists[bmpBWMatrix[j][i]] ; } //2.cal total hist value totalHistVal=0; for(i=0;i<256;i ) totalHistVal =arrHists[i]; //3.cal pi pArr[0]=0; for(i=1;i<256;i ) pArr[i]=pArr[i-1] (float)arrHists[i]/(float)totalHistVal; //4.show out adjusted picture: for(i=0;i<MBMFILEINFO.BMHEIGHT;I ) for(j=0;j<MBMFILEINFO.BMWIDTH;J ) { tmpTableVal=255*pArr[bmpBWMatrix[i][j]]; //make to windows color format outputPixel=((unsigned long)paletteArr[tmpTableVal].b)*65536 ((unsigned long)paletteArr[tmpTableVal].g)*256 (unsigned long)paletteArr[tmpTableVal].r; //output pixel SetPixel(inHdc,j offsetX,i offsetY,outputPixel); } } 图1:庙宇原像 图2:庙宇均衡化后的图像共2页。 1 2 8 :
下载本文示例代码
玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强玩玩数字图像处理之图像增强
阅读(152) | 评论(0) | 转发(0) |