penV统计应用影像增强.doc

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

OpenCV统计应用-影像增强,亮度/对比实作 在一般显示屏幕以及图形处理的应用软件上,都会有一个亮度/对比的色彩(BKghtness/Contrast)调幣,它 是诚于影像增强的部份,在OpenCV里而的Sample Code里而就有这样的灰阶程序的实作,在这边就修改了 OpenCV的Sample Code,来做色彩增强的亮度/对比的程序,而在一般的亮度/对比来讲亮度(Brightness)的 范围为(T200而对比(Contrast)亦是(T200,它们由一条线性函数的公式所定义,对比所代表的是斜率,亮度 则是偏移觉,这条线性公式代表的是Look-up table的对应,它的数学式定义如下 原始的焭度对比数值范围为10(f 100之fHj,C代农对比,B代表亮度 -100 C 100 一 100 5 100 对于对比率(Contrast ratio)來讲,delta范围应该落在(T255,这边将对比率的公式做粟新的凋整 广 if C0 A1=127*—— J 1 100 c C0 A --128*— 100 0 A} 127 0 A2 128 对比率代衣着斜率的a值,而亮度则是决定线性公式位移的情况,也就是0值,而Y= ci X+ 这个线性公式它 所农达的情况如K a值的范闱落在(T255 ZlRj,而它的情况如下 if C 0 1 a 255 else C 0 0 af 1 來下面是川伪码的方式表达兑度/对比的算法 C=C-100; B = B-100; if(C 0) { A = 127*-?-; 100 255 CC- , 2A J$= OB- Q^f for__i = 0,l,2...255 yi = +A } else if(C 0) { △ = 128*丄; 100 2A a= ?, 255 oB+A, for 一i =0,l,2...255 下面就足亮度/对比的程序丫 亮度/对比实作 ^include cv. h ^include highgui. h ^include stdio. h int BrightnessPosition = 100; int ContrastPosition = 100; int HistogramBins = 64; int Hi stogramBi nWi dth; float HistogramRangel[2] = {0, 256}; float *HistogramRange[1]={HistogramRangel[0]}: IplImage *lmagel, *lmage2; CvHi stogram *Hi stograml; Tpl Tmage *IlislogramTmage; uchar LookupTcibleData[256]: CvMat *LookupTab1eMat r i x; TplTmage *LookupTablcTmage: CvPoint Pointl, Point2; void OnTrackbar(int Position) void OnTrackbar(int Position) int Brightncss=,,BrightncssPosition-/z100; int Contrast二’’ContrastPositiorT -100; double Delta; double a, b; int y; //Brightness/Contrast Formula if(Contrast〉。) { Delta=l27*Contrast/100: a=255/(255-Dolta*2): b=a* (Brightness-Delta); for (int x=0;x256;x++) { y=(int) (a*x+b); if(y〈0) y=0; if(y255) y=255; LookupTableData[x]=(uchar)y; } } else { Delta=-128*Contrast/100; a=(256-Delta*2)/255; b=a*Brightness?Delta; for(int x=0;x256;x++) { y=(int) (a*x+b); if(y〈0) y=0; if (y255) y=255; LookupTableDataIx 丨二(uchar)y; } //End //Look up table sketch cvSetZero(LookupTablelmage); cvNot (LookupTableTmage, LookupTablelmage); Point2=cvPoint(0, LookupTableData[0]): for(int i=0;i256;i++) { Poin

文档评论(0)

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

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

1亿VIP精品文档

相关文档