光学图像处理实验报告

时间:2024.5.4

光学图像处理实验报告

直方图均衡化的研究

一、摘要

直方图均衡化就是把一已知灰度概率分布的图像经过一种变换,使之演变成一幅具有均匀灰度概率分布的新图像。它是以累积分布函数变换法为基础的直方图修正法。分析和总结灰度直方图的均衡化算法并通过VC++实验验证该方法能有效达到图像增强的目的。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。

二、关键字

灰度统计 直方图 均衡化

三、实验原理

1、直方图的理论基础:

(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。

(2)直方图的作用: 反映一幅图像的灰度分布特性

n(3)直方图的计算: p(rk)?k0?rk?1k?0,1,2,?,l?1 n

式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。

2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,

达到了图象增强的目的。

3、直方图均衡化的效果 :

1)变换后直方图趋向平坦,灰级减少,灰度合并。

2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰

度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同

时,也增加了图象的可视粒度。

4、离散情况下的直方图均衡化的算法:

A、列出原始图像的灰度级 fj,j?0,1,?,L?1

B、统计各灰度级的像素数目 nj,j?0,1,?,L?1

C、计算原始图像直方图各灰度级的频数 Pf(fj)?nj/n,j?0,1,?,L?1

kD、计算累积分布函数 C(f)?j?0Pf(fj),j?0,1,?,k,?L?1

F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,

其中INT为取整符号:

gi?INT[(gmax?gmin)C(f)?gmin?0.5]

G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出

图像。

?

四、实验内容及源程序

1、灰度分布密度的统计

程序代码如下:

/***********************************************

*函数名称:ZhiFangTu(float *tongji)

*函数类型:void

*变量说明:tongji,灰度分布密度统计

*功能:对图像进行灰度直方图统计

***********************************************/

void CAAAView::OnZhifangtu(float *tongji)

{

// TODO: Add your command handler code here

int huidu[256];//灰度计数

CAAADoc* pDoc = GetDocument();

LPSTR lpDIB;

LPSTR lpDIBBits;

lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());

lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针

int iH,iW;

memset(huidu,0,sizeof(huidu));//变量初始化

iH = ::DIBHeight(lpDIB);//宽

iW = ::DIBWidth(lpDIB); //长

LPBYTE temp1=new BYTE[iH*iW];//新图像缓冲区

memcpy(temp1,lpDIBBits,iH*iW);//复制原图像到缓冲区 for(int i=0;i<iH;i++)//对各像素进行灰度统计

{ for(int j=0;j<iW;j++)

{ unsigned char temp;

temp=temp1[iW*i+j];//灰度统计计数

huidu[temp]++;

}

}

for( i=0;i<256;i++)//统计灰度分布密度

tongji[i]=huidu[i]/(iH*iW*1.0f);

}

2、直方图分布的均衡化

(1)统计直方图数组,用一个数组p记录p?i?;

(2)i从1开始,令s?i??s?i?1??p?i?;

(3)一个数组L记录新的s的索引值,即令L?i??s?i?*(256?1);

(4)依次循环每个像素,取原图的像素值作为数组L的下标值,取该下标值对应的数组值作为均衡化之后的像素值。

程序代码如下:

/***********************************************

*函数名称:zhifangtujunheng

*函数类型:void

*变量说明:无

*功能:对图像进行灰度分布均衡化处理

***********************************************/

void CAAAView::OnZhifangtujunheng()

{

// TODO: Add your command handler code here

CAAADoc* pDoc = GetDocument();

LPSTR lpDIB;

LPSTR lpDIBBits;

lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());

lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针

float Hdmd[256];//灰度密度

float temp[256];//中间变量

int a[256];

long i,j;

memset(temp,0,sizeof(temp));//初始化

OnZhifangtu(Hdmd);//获取图像的灰度密度分布

for(i=0;i<256;i++)//进行均衡化处理

{

if(i==0)

{

temp[0]=Hdmd[0];

}

else

{

temp[i]=temp[i-1]+Hdmd[i];

}

a[i]=(int)(255.0f*temp[i]+0.5f);

}

long iH,iW;

iH = ::DIBHeight(lpDIB);//宽

iW = ::DIBWidth(lpDIB); //长

for(i=0;i<iH;i++)//对各个像素进行灰度变换

{ for(j=0;j<iW;j++)

{ unsigned char temp1;//将转换后的灰度分布写入dib图像 temp1=*(lpDIBBits+i*iW+j);

*(lpDIBBits+i*iW+j)=a[temp1];

}

}

pDoc->UpdateAllViews(NULL);

::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

EndWaitCursor();

}

五、实验结果的分析与比较

a原图如下所示:

光学图像处理实验报告

b均衡后的结果如下:

光学图像处理实验报告

结论:图像直方图趋于平坦化,且灰度间隔被拉大,从而有利于图像的分析和识别。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。

六、参考文献

VC++图像处理程序设计(第二版)(杨淑莹等 编著)


第二篇:图像处理实验报告一


一.图像的读入与直方图拓展

>> clear;

>> clear all;

>> I=imread('pout.tif');

>> imshow(I)

>> whos

  Name      Size                    Bytes  Class

  I       291x240                   69840  uint8 array

Grand total is 69840 elements using 69840 bytes

>> figure,imhist(I)

>> I2=histeq(I);

>> figure,imhist(I2)

>> figure,imshow(I2)

>> imwrite(I2,'pout.tif')

>> imfinfo('pout.tif')

ans =

                     Filename: 'pout.tif'

                  FileModDate: '19-Dec-2012 18:52:08'

                     FileSize: 67816

                       Format: 'tif'

                FormatVersion: []

                        Width: 240

                       Height: 291

                     BitDepth: 8

                    ColorType: 'grayscale'

              FormatSignature: [73 73 42 0]

                    ByteOrder: 'little-endian'

               NewSubfileType: 0

                BitsPerSample: 8

                  Compression: 'PackBits'

    PhotometricInterpretation: 'BlackIsZero'

                 StripOffsets: [9x1 double]

              SamplesPerPixel: 1

                 RowsPerStrip: 34

              StripByteCounts: [9x1 double]

                  XResolution: 72

                  YResolution: 72

               ResolutionUnit: 'Inch'

                     Colormap: []

          PlanarConfiguration: 'Chunky'

                    TileWidth: []

                   TileLength: []

                  TileOffsets: []

               TileByteCounts: []

                  Orientation: 1

                    FillOrder: 1

             GrayResponseUnit: 0.0100

               MaxSampleValue: 255

               MinSampleValue: 0

                 Thresholding: 1

二、同时读入若干幅图像,可以频繁使用figure,imshow;但若要求在同一窗口读入若干幅图像:则可调用subplot函数。

I1=imread('pout.tif');

>> I2=imread('moon.tif');

>> I3=imread('onion.png');

>> I4=imread('tire.tif');

>> subplot(2,2,1),imshow(I1);

>> subplot(2,2,2),imshow(I2);

>> subplot(2,2,3),imshow(I3);

>> subplot(2,2,4),imshow(I4);

三、还可以尝试读入其它的图片,进行形态学的开闭运算操作、骨骼化、条纹细化等操作,并可尝试改变结构元素等操作。

图片处理

>> I=imread('rice.png');

>> imshow(I)

>> b=imopen(I,strel('disk',15));

>> I2=imsubtract(I,b);

>> figure,imshow(I2)

>> %图像有些暗,调对比度

>> I3=imadjust(I2,stretchlim(I2),[]);

>> figure,imshow(I3)

>> %检查图像中的对象个数

>> level=graythresh(I3);

>> b2=im2bw(I3,level);%b2=im2bw(I3,graythresh(I3))

>> figure,imshow(b2)

>> [l,num]=bwlabel(b2,4);

>> num

num =

   101

 >> c=imcrop(l);%裁剪图片

>> figure,imshow(c)

>> rgb_c=label2rgb(l,@spring,'c','shuffle');

>> figure,imshow(rgb_c)

更多相关推荐:
大学物理光学实验报告

实验十光栅衍射一实验目的1观察光线通过光栅后的衍射光谱2学会用光栅衍射测定光波波长的方法3学会用光栅衍射原理测定光栅常数4进一步熟悉分光计的调整和使用方法二实验仪器分光计光栅钠光灯平面反射镜三实验原理光栅是有大...

浙江大学应用光学实验报告

本科实验报告20##年5月11日实验报告课程名称:应用光学实验指导老师ZZ成绩:__________________实验名称:典型光学系统实验实验类型:设计同组学生姓名:ZZ一、实验目的和要求(必填)二、实验内…

现代光学测试实验报告

现代光学测试技术实验报告姓名学号专业班级课程名称现代光学测试技术指导教师完成日期现代光学测试技术实验报告一实验目的1了解散斑的性质及特点2了解散斑干涉剪切散斑干涉DIC和条纹投影技术的具体应用3通过分析优劣更好...

建筑物理光学实验报告

建筑物理实验报告建筑光学实验:1.采光系数测量2.教室亮度测量3.测定材料光反射系数4.测定材料光透射系数小组成员:***指导教师:***西北工业大学力学与土木建筑学院20**年11月3日一实验目的室内光环境对…

光学实验报告 信息光学综合实验

实验报告课程名称现代物理实验实验名称信息光学综合实验专业物理学学号xxx姓名xxx实验地点xxx实验时间11年03月10日05月30日常熟理工学院实验目的和要求1熟悉阿贝成像原理及其与几何成像的差异2学会做阿贝...

光学实验报告

应用光学实验报告本学期应用光学共开设八个实验现对实验之一的阿贝尔成像及空间滤波实验编写实验报告一实验目的1了解透镜孔径对成像的影响和两种简单的空间滤波2掌握在相干光条件下调节多透镜系统的共轴3验证和演示阿贝成像...

基础光学实验实验报告

基础光学实验姓名许学号2120xx3018应物21班达一实验仪器基础光学轨道系统基础光学组合狭缝及偏振片红光激光器及光圈支架光传感器与转动传感器科学工作室500或750接口DataStudio软件系统二实验目的...

建筑物理光学实验报告最终版 2

建筑物理实验报告建筑光学实验报告小组成员汪宏宇20xx30156806051102张坤20xx30155106051101张真瑞20xx30157406051102朱佳成20xx30155206051101指导...

光学传递函数的测量实验报告

实验四光学传递函数测量和透镜像质评价一实验目的1了解光学镜头传递函数测量的基本原理2掌握传递函数测量和光学系统成像品质评价的近似方法3学习抽样平均和统计算法二主要仪器及设备1导轨滑块调节支座支杆可调自定心透镜夹...

光学多通道分析器实验报告

光学多通道分析器的应用摘要光学多通道是一个能够同时对多个检测通道完成光电转换实现光谱并行检测的探测器光学多通道利用现代的光电技术CCD来实现对光谱的接收测量和处理本实验通过光学多通道分析器测量了未知光谱黄光红光...

物理光学实验报告要求

光信息综合实验类型实验报告的格式与封面格式如下本科实验报告课程名称光信息综合实验姓名学院信息科学与工程学院系光电信息工程学系专业信息工程光电学号指导教师毛小兰蒋凌颖林远芳20xx年月日实验报告课程名称毛小兰蒋凌...

光学多道实验报告

光学多道与氢氘同位素光谱武晓忠20xx11141046北京师范大学20xx级非师范班指导教师何琛娟实验时间20xx916摘要本实验通过光学多道分析仪来研究了HD的光谱观察并了解了HD原子谱线的特征H和D的光谱非...

光学实验报告(29篇)