圖像直方圖均衡實驗(共5頁)_第1頁
圖像直方圖均衡實驗(共5頁)_第2頁
圖像直方圖均衡實驗(共5頁)_第3頁
圖像直方圖均衡實驗(共5頁)_第4頁
圖像直方圖均衡實驗(共5頁)_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上實驗名稱實驗 2:直方圖均衡實驗目的掌握對圖像直方圖進行操作,實現(xiàn)圖像的直方圖均衡算法。 1、 掌握求灰度圖像歸一化直方圖方法 2、 掌握灰度圖像的直方圖均衡算法 3、 掌握對彩色圖像進行直方圖均衡的算法實驗內(nèi)容1、 計算灰度圖像的歸一化直方圖。 具體內(nèi)容:利用 OpenCV 對圖像像素進行操作,計算歸一化直方圖。并在窗口中以圖形的方式顯示出來 2、 灰度圖像直方圖均衡處理 具體內(nèi)容:通過計算歸一化直方圖,設計算法實現(xiàn)直方圖均衡化處理。 3、 彩色圖像直方圖均衡處理 具體內(nèi)容: 在灰度圖像直方圖均衡處理的基礎上實現(xiàn)彩色直方圖均衡處理。 實驗完成情況(包括完成的實驗內(nèi)容

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

3、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+;/*計算其中最大個數(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&l

4、t;dst->width;j+)cvSet2D(dst, i, j, white);/*繪制橫豎坐標*/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

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

6、6;i+)counti=0;pri=0.0f;dstColori=0;/*統(tǒng)計每個灰度級對應像素個數(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+;/*計算每個灰度級出現(xiàn)概率*/int max = src->height*src->width;for(int i=0;i<256;i+)pri=counti*1.0f/max;if(i>0)dstColo

7、ri=dstColori-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;實驗結果如下圖所示:3. 在灰度圖像直方圖均衡處理的基礎上實現(xiàn)彩色直方圖均衡處理。核心

8、代碼如下:IplImage* 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;實驗結果如下圖所示:實驗中的問題(包括在實驗

溫馨提示

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

評論

0/150

提交評論