圖像直方圖均衡實(shí)驗(yàn)_第1頁(yè)
圖像直方圖均衡實(shí)驗(yàn)_第2頁(yè)
圖像直方圖均衡實(shí)驗(yàn)_第3頁(yè)
圖像直方圖均衡實(shí)驗(yàn)_第4頁(yè)
圖像直方圖均衡實(shí)驗(yàn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)名稱實(shí)驗(yàn) 2:直方圖均衡實(shí)驗(yàn)?zāi)康恼莆諏?duì)圖像直方圖進(jìn)行操作,實(shí)現(xiàn)圖像的直方圖均衡算法。 1、 掌握求灰度圖像歸一化直方圖方法 2、 掌握灰度圖像的直方圖均衡算法 3、 掌握對(duì)彩色圖像進(jìn)行直方圖均衡的算法實(shí)驗(yàn)內(nèi)容1、 計(jì)算灰度圖像的歸一化直方圖。 具體內(nèi)容:利用 OpenCV 對(duì)圖像像素進(jìn)行操作,計(jì)算歸一化直方圖。并在窗口中以圖形的方式顯示出來(lái) 2、 灰度圖像直方圖均衡處理 具體內(nèi)容:通過(guò)計(jì)算歸一化直方圖,設(shè)計(jì)算法實(shí)現(xiàn)直方圖均衡化處理。 3、 彩色圖像直方圖均衡處理 具體內(nèi)容: 在灰度圖像直方圖均衡處理的基礎(chǔ)上實(shí)現(xiàn)彩色直方圖均衡處理。 實(shí)驗(yàn)完成情況(包括完成的實(shí)驗(yàn)內(nèi)容及每個(gè)實(shí)驗(yàn)的完成程度。注意

2、要貼出每個(gè)實(shí)驗(yàn)的核心代碼)1. 利用 OpenCV 對(duì)圖像像素進(jìn)行操作,計(jì)算歸一化直方圖。并在窗口中以圖形的方式顯示出來(lái):IplImage* BuildHistogram(IplImage *src) CvSize size; size.width = 300;size.height = 300;IplImage* dst = cvCreateImage(size,IPL_DEPTH_8U,1);int count256;/*初始化每個(gè)灰度級(jí)對(duì)應(yīng)像素個(gè)數(shù)為0*/for(int i=0;i<256;i+)counti=0;/*統(tǒng)計(jì)每個(gè)灰度級(jí)對(duì)應(yīng)像素個(gè)數(shù)*/for(int i=0; i<

3、;src->height;i+)for(int j=0;j<src->width;j+)CvScalar s = cvGet2D(src, i, j);int color = s.val0;countcolor+;/*計(jì)算其中最大個(gè)數(shù)*/int max=0;for(int i=0;i<256;i+)if(counti>max)max = counti;/*初始化直方圖背景為白色*/CvScalar white;white.val0=255;for(int i=0;i<dst->height;i+)for(int j=0;j<dst->wid

4、th;j+)cvSet2D(dst, i, j, white);/*繪制橫豎坐標(biāo)*/CvScalar black;black.val0 = 0;for(int i=0;i<280;i+)cvSet2D(dst, 280, i+10, black);for(int i=0;i<280;i+)cvSet2D(dst, i+10, 20, black);/*繪制直方圖*/for(int i=0;i<256;i+)int high = counti*256/max;int x=20+i;for(int j=0;j<high;j+)int y=280-j;cvSet2D(dst,

5、 y, x, black);return dst;實(shí)驗(yàn)結(jié)果如下圖所示:2. 通過(guò)計(jì)算歸一化直方圖,設(shè)計(jì)算法實(shí)現(xiàn)直方圖均衡化處理。核心代碼如下:IplImage* Equalization(IplImage *src)IplImage* dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, src->nChannels);int count256;float pr256;float dstColor256;/*初始化灰度級(jí)對(duì)應(yīng)像素計(jì)數(shù)為0, 灰度級(jí)出現(xiàn)的概率為0,均衡后灰度為0*/for(int i=0;i<256;i+)counti=0

6、;pri=0.0f;dstColori=0;/*統(tǒng)計(jì)每個(gè)灰度級(jí)對(duì)應(yīng)像素個(gè)數(shù)*/for(int i=0; i<src->height;i+)for(int j=0;j<src->width;j+)CvScalar s = cvGet2D(src, i, j);int color = s.val0;countcolor+;/*計(jì)算每個(gè)灰度級(jí)出現(xiàn)概率*/int max = src->height*src->width;for(int i=0;i<256;i+)pri=counti*1.0f/max;if(i>0)dstColori=dstColori-

7、1+255*pri; else dstColori=255*pri;/*生成均衡后圖像*/for(int i=0; i<src->height;i+)for(int j=0;j<src->width;j+)CvScalar s = cvGet2D(src, i, j);int srcColor = s.val0;CvScalar d;d.val0=(int)(dstColorsrcColor);cvSet2D(dst, i, j, d);return dst;實(shí)驗(yàn)結(jié)果如下圖所示:3. 在灰度圖像直方圖均衡處理的基礎(chǔ)上實(shí)現(xiàn)彩色直方圖均衡處理。核心代碼如下:IplImage

8、* ColorEqualization(IplImage *src)IplImage *dst = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 3); IplImage *pImageChannel3 = NULL; int i; for (i=0; i<3; i+) pImageChanneli = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1); cvSplit(src, pImageChannel0, pImageChannel1, pImageChannel2, NULL); for (i=0; i<src->nChannels; i+) pImageChanneli = Equalization(pImageChanneli); /*三通道合并*/ cvMerge(pImageChannel0, pImageChannel1, pImageChannel2, NULL, dst); return dst;實(shí)驗(yàn)結(jié)果如下圖所示:實(shí)驗(yàn)中的問(wèn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論