欢迎来到天天文库
浏览记录
ID:1678336
大小:57.00 KB
页数:3页
时间:2017-11-13
《影响系统图像清晰程度的因素很多,例如室外光照度不够均匀》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过于集中;由CCD(摄像头)获得的图像经过A/D(数/模转换,该功能在图像系统中由数字采集卡来实现)转换、线路传送都会产生噪声污染等等。因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清细节;重者表现为图像模糊不清,连概貌也看不出来。因此,在对图像进行分析之前,必须要对图像质量进行改善,一般情况下改善的方法有两类:图像增强和图像复原。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可懂度。图
2、像增强的方法分为空域法和频域法两类,空域法主要是对图像中的各个像素点进行操作;而频域法是在图像的某个变换域内,对图像进行操作,修改变换后的系数,例如付立叶变换、DCT变换等的系数,然后再进行反变换得到处理后的图像。图像复原技术与增强技术不同,它需要了解图像质量下降的原因,首先要建立"降质模型",再利用该模型,恢复原始图像。本期讲座我们主要介绍各种增强技术在图象处理系统中的实际应用。 1.灰度变换 简单的说,灰度变换就是指对图像上各个像素点的灰度值x按某个函数T()变换到y。例如为了提高图像的清晰度,需要将图像的灰度级整个范围或其中
3、某一段(A,B)扩展或压缩到(A,B);需要显示出图像的细节部分等都要求采用灰度变换方法。灰度变换有时又被称为图像的对比度增强或对比度拉伸。假定输入图像中的一个像素的灰度级为Z,经过T(Z)函数变换后输出图像对应的灰度级为Z,其中要求Z和Z都要在图像的灰度范围之内。根据T()形式,可以将灰度变换分为线性变换和非线性变换。具体应用中采用何种T(),需要根据变换的要求而定。 对于图像的灰度变换,我们这里介绍一种稍微复杂一点的方法,既直方图均衡化。直方图均衡化是灰度变换的一个重要应用,广泛应用在图像增强处理中,它是以累计分布函数变换为基础
4、的直方图修正法,可以产生一幅灰度级分布具有均匀概率密度的图像,扩展了像素的取值动态范围。若像素点的原灰度为R,变换后的灰度为S,需要注意的是R、S是归一化后的灰度值,其灰度变换函数T()为:S=T (R);k=0,1…,; 式中,是第j级灰度值的概率,是图像中j级灰度的像素总数,是图像中灰度级的总数目,是图象中像素的总数。对变换后的S值取最靠近的一个灰度级的值,建立灰度级变换表,将原图像变换为直方图均衡的图像。下面是实现图像直方图均衡化函数的源代码和效果图:voidCDibView::OnZftJh(){ CClientDCpDC(
5、this); HDChDC=pDC.GetSafeHdc();//获取当前设备上下文的句柄; SetStretchBltMode(hDC,COLORONCOLOR); CDibDoc*pDoc=GetDocument(); HDIBhdib; hdib=pDoc->GetHDIB(); BITMAPINFOHEADER*lpDIBHdr;//位图信息头结构指针; BYTE*lpDIBBits;//指向位图像素灰度值的指针; lpDIBHdr=(BITMAPINFOHEADER*)GlobalLock(hdib);//得到图像的位图头信
6、息 lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD); file://获取图像像素值 floatp[256],p1[256],num[256]; inti,j,k; for(i=0;i<256;i++)//清空三个数组; {num[i]=0.0f; p[i]=0.0f; p1[i]=0.0f; } file://num[]存放图象各个灰度级出现的次数; intHeight=lpDIBHdr->biHeight; intWidth=lpDIB
7、Hdr->biWidth; for(i=0;i8、i<256;i++) { for(k=0;k<=i;k++) p1[i]+=p[k]; } file://直方图变换; for(i=0;i
8、i<256;i++) { for(k=0;k<=i;k++) p1[i]+=p[k]; } file://直方图变换; for(i=0;i
此文档下载收益归作者所有