欢迎来到天天文库
浏览记录
ID:57747970
大小:180.00 KB
页数:3页
时间:2020-09-02
《图像的对比度增强.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图像的对比度增强1.原理增强图像对比度实际是增强原图的各部分的反差。实际中往往是通过增强原图里某两个灰度值间的动态范围来实现的。我选用的是书本上最典型的图像增强对比度。L-1t0sL-1如图所示,可以看出通过这样一个变换,原图中灰度值在0到和到L-1间的动态范围减小了,而原图中灰度值在和间的动态范围增强了,从而这个范围内的对比度增强了。实验中我选用的数值是s1=50,s2=120,t1=60,t2=100。2.代码voidCImageProcessingDoc::OnImageContrast(
2、){m_pDibInit->Save("r_temp1.bmp");//TODO:Addyourcommandhandlercodehereinti,j;//循环变量intm_Width,m_Height,m_SaveWidth;intt[256]={0},s[256]={0};doubles1=50,s2=120,t1=60,t2=100;m_Width=m_pDibInit->GetWidth();m_Height=m_pDibInit->GetHeight();m_SaveWidth=m_
3、pDibInit->GetSaveWidth();for(j=0;jm_pDibBits[j*m_SaveWidth+i]m_pDibBits[j*m_SaveWidth+i]=(unsignedchar)(m_pDibInit->m_pDibBits[j*m_SaveWidth+i]*(t1/s1));elseif(m_pDibInit->m_pDibBits
4、[j*m_SaveWidth+i]>=s1
5、
6、m_pDibInit->m_pDibBits[j*m_SaveWidth+i]<=s2)m_pDibInit->m_pDibBits[j*m_SaveWidth+i]=(unsignedchar)((m_pDibInit->m_pDibBits[j*m_SaveWidth+i]-s1)*(t2-t1)/(s2-s1)+t1);elseif(m_pDibInit->m_pDibBits[j*m_SaveWidth+i]>s2)m_pDibInit->m
7、_pDibBits[j*m_SaveWidth+i]=(unsignedchar)((m_pDibInit->m_pDibBits[j*m_SaveWidth+i]-s2)*(255-t2)/(255-s2)+t2);};m_pDibInit->Save("r_temp2.bmp");UpdateAllViews(NULL);}3.实验结果于分析图1图2图1是原图,图2是增强图像对比度后得到的图像,实际中是s1,s2,t1,t2可以取不同的值进行组合,从而得到不同的效果,实验中我选用的数值是s1
8、=50,s2=120,t1=60,t2=100。如果s1=t1,s2=t2,则曲线为一条斜率等于1的直线,增强图像和原图相同。如下图所示:图1图2如果t1=0,t2=L-1,则曲线为一条斜率大于1的直线,增强图中s1和s2间的灰度占满整个动态范围。如果s1=s2,t1=0,t2=L-1,则增强图只剩下两个灰度级,对比度最大但细节全被丢失了。
此文档下载收益归作者所有