青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)

2.圖像平滑

  圖像平滑主要是為了消除噪聲。噪聲并不限于人眼所能看的見的失真和變形,有些噪聲只有在進(jìn)行圖像處理時(shí)才可以發(fā)現(xiàn)。圖像的常見噪聲主要有加性噪聲、乘性噪聲和量化噪聲等。圖像中的噪聲往往和信號(hào)交織在一起,尤其是乘性噪聲,如果平滑不當(dāng),就會(huì)使圖像本身的細(xì)節(jié)如邊界輪廓、線條等變的模糊不清,如何既平滑掉噪聲有盡量保持圖像細(xì)節(jié),是圖像平滑主要研究的任務(wù)。

  一般來說,圖像的能量主要集中在其低頻部分,噪聲所在的頻段主要在高頻段,同時(shí)系統(tǒng)中所要提取的汽車邊緣信息也主要集中在其高頻部分,因此,如何去掉高頻干擾又同時(shí)保持邊緣信息,是我們研究的內(nèi)容。為了去除噪聲,有必要對(duì)圖像進(jìn)行平滑,可以采用低通濾波的方法去除高頻干擾。圖像平滑包括空域法和頻域法兩大類,在空域法中,圖像平滑的常用方法是采用均值濾波或中值濾波,對(duì)于均值濾波,它是用一個(gè)有奇數(shù)點(diǎn)的滑動(dòng)窗口在圖像上滑動(dòng),將窗口中心點(diǎn)對(duì)應(yīng)的圖像像素點(diǎn)的灰度值用窗口內(nèi)的各個(gè)點(diǎn)的灰度值的平均值代替,如果滑動(dòng)窗口規(guī)定了在取均值過程中窗口各個(gè)像素點(diǎn)所占的權(quán)重,也就是各個(gè)像素點(diǎn)的系數(shù),這時(shí)候就稱為加權(quán)均值濾波;對(duì)于中值濾波,對(duì)應(yīng)的像素點(diǎn)的灰度值用窗口內(nèi)的中間值代替。實(shí)現(xiàn)均值或中值濾波時(shí),為了簡(jiǎn)便編程工作,可以定義一個(gè)n*n的模板數(shù)組。另外,讀者需要注意一點(diǎn),在用窗口掃描圖像過程中,對(duì)于圖像的四個(gè)邊緣的像素點(diǎn),可以不處理;也可以用灰度值為"0"的像素點(diǎn)擴(kuò)展圖像的邊緣。下面給出了采用加權(quán)均值濾波的圖像平滑函數(shù)代碼和效果圖:

void CDibView::OnImagePh()
{
 CClientDC pDC(this);
 HDC hDC=pDC.GetSafeHdc();//獲取當(dāng)前設(shè)備上下文的句柄;
 SetStretchBltMode(hDC,COLORONCOLOR);
 HANDLE data1handle;
 LPBITMAPINFOHEADER lpBi;
 CDibDoc *pDoc=GetDocument();
 HDIB hdib;
 unsigned char *hData;
 unsigned char *data;
 hdib=pDoc->GetHDIB();
 BeginWaitCursor();
 lpBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib);
 hData=(unsigned char*)FindDIBBits((LPSTR)lpBi);
 pDoc->SetModifiedFlag(TRUE);
 data1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBi->biWidth*8)*lpBi->biHeight);
 data=(unsigned char*)GlobalLock((HGLOBAL)data1handle);
 AfxGetApp()->BeginWaitCursor();
 int i,j,s,t,ms=1;
 int sum=0,sumw=0;
 int mask[3][3]=,,};//定義的3x3加權(quán)平滑模板;
 for(i=0; ibiHeight; i++)
 for(j=0; jbiWidth; j++)
 {
  sumw=0; sum=0;
  for(s=(-ms); s<=ms; s++)
  for(t=(-ms); t<=ms; t++)     if(((i+s)>=0)&&((j+t)>=0)&&((i+s)biHeight)&&((j+t)biWidth))
 {
  sumw += mask[1+s][1+t];   
  sum+=*(hData+(i+s)*WIDTHBYTES(lpBi->biWidth*8)+(j+t))*mask[1+s][1+t];
  }
  if(sumw==0) sumw=1;
   sum/=sumw;
  if(sum>255)sum=255;
  if(sum<0)sum=0;
  *(data+i*WIDTHBYTES(lpBi->biWidth*8)+j)=sum;
 }
 for( j=0; jbiHeight; j++)
 for(i=0;ibiWidth;i++)  *(hData+i*WIDTHBYTES(lpBi->biWidth*8)+j)=*(data+i*WIDTHBYTES(lpBi->biWidth*8)+j);
  StretchDIBits (hDC,0,0,lpBi->biWidth,lpBi->biHeight,0,0,
         lpBi->biWidth,lpBi->biHeight,
         hData,(LPBITMAPINFO)lpBi,
         DIB_RGB_COLORS,
         SRCCOPY);//顯示圖像;
}

Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖一)

(a)LENA原圖
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖二)

(b)平滑后的效果圖

                     圖三

  中值或均值平滑有時(shí)處理圖像的效果并不是很好,它雖然去除了一定的噪聲,但同時(shí)使圖像中的邊緣變的模糊,這主要和所選取的窗口大小有關(guān),為此下面介紹了一種既能保持邊緣清晰又能消除噪聲的方法,其算法如圖四所示:
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖三)

(a)
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖四)

(b)
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖五)

(c)

                 圖 四 圖像平滑模板

  上圖的含義是在圖像中取5*5的區(qū)域,包含點(diǎn)(i,j)的五邊形和六邊形各四個(gè),3*3的區(qū)域一個(gè),計(jì)算這九個(gè)區(qū)域的標(biāo)準(zhǔn)差和灰度的平均值,取標(biāo)準(zhǔn)差最小區(qū)域的灰度平均值作為點(diǎn)(i,j)的灰度。由于該算法的實(shí)現(xiàn)代碼和上述代碼大同小異,所以代碼部分就不再贅述。

 3.圖像銳化

  圖像平滑往往使圖像中的邊界、輪廓變的模糊,為了減少這類不利效果的影響,這就需要利用圖像鋭化技術(shù),使圖像的邊緣變的清晰。圖像銳化處理的目的是為了使圖像的邊緣、輪廓線以及圖像的細(xì)節(jié)變的清晰,經(jīng)過平滑的圖像變得模糊的根本原因是因?yàn)閳D像受到了平均或積分運(yùn)算,因此可以對(duì)其進(jìn)行逆運(yùn)算(如微分運(yùn)算)就可以使圖像變的清晰。從頻率域來考慮,圖像模糊的實(shí)質(zhì)是因?yàn)槠涓哳l分量被衰減,因此可以用高通濾波器來使圖像清晰。

  為了要把圖像中間任何方向伸展的的邊緣和輪廓線變得清晰,我們希望對(duì)圖像的某種運(yùn)算是各向同性的。可以證明偏導(dǎo)平方和的運(yùn)算是各向同性的,既:

Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖六)

  式中( Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖七))是圖像旋轉(zhuǎn)前的坐標(biāo),(Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖八) )是圖像旋轉(zhuǎn)后的坐標(biāo)。梯度運(yùn)算就是在這個(gè)式子的基礎(chǔ)上開方得到的。圖像(x,y)點(diǎn)的梯度值:
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖九)

  為了突出物體的邊緣,常常采用梯度值的改進(jìn)算法,將圖像各個(gè)點(diǎn)的梯度值與某一閾值作比較,如果大于閾值,該像素點(diǎn)的灰度用梯度值表示,否則用一個(gè)固定的灰度值表示。

  我們?cè)趯?duì)圖像增強(qiáng)的過程中,采用的是一種簡(jiǎn)單的高頻濾波增強(qiáng)方法:

Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十)

  式中f,g分別為銳化前后的圖像, Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十)是與擴(kuò)散效應(yīng)有關(guān)的系數(shù)。 Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十二)表示對(duì)圖像f進(jìn)行二次微分的拉普拉斯算子。這表明不模糊的圖像可以由模糊的圖像減去乘上系數(shù)的模糊圖像拉普拉斯算子來得到。 Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十三)可以用下面的模板H=,,}來近似。在具體實(shí)現(xiàn)時(shí),上述模板H中的各個(gè)系數(shù)可以改變, Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十四)這個(gè)系數(shù)的選擇也很重要,太大了會(huì)使圖像的輪廓過沖,太小了則圖像銳化不明顯。實(shí)驗(yàn)表明, Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十四)選取2-8之間往往可以達(dá)到比較滿意的效果。下面給出 Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十四)等于4的情況下的實(shí)現(xiàn)代碼和效果圖:

void CDibView::OnMenuitem32785()
{
CClientDC pDC(this);
HDC hDC=pDC.GetSafeHdc();//獲取當(dāng)前設(shè)備上下文的句柄;
SetStretchBltMode(hDC,COLORONCOLOR);
CDibDoc *pDoc=GetDocument();
HDIB hdib;
hdib=pDoc->GetHDIB();
BITMAPINFOHEADER *lpDIBHdr;//位圖信息頭結(jié)構(gòu)指針;
BYTE *lpDIBBits;//指向位圖像素灰度值的指針;
lpDIBHdr=( BITMAPINFOHEADER *)GlobalLock(hdib);//得到圖像的位圖頭信息 lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD);//獲取圖像像素值
BYTE* pData1;
static int a[3][3]=,,};//拉普拉斯算子模板;
int m,n,i,j,sum;
int Width=lpDIBHdr->biWidth;
int Height=lpDIBHdr->biHeight;
pData1=(BYTE*)new char[WIDTHBYTES(Width*8)*Height];
file://進(jìn)行拉普拉斯濾波運(yùn)算;
for(i=1;i for(j=1;j {
sum=0;
for(m=-1;m<2;m++)
for(n=-1;n<2;n++) sum+=*(lpDIBBits+WIDTHBYTES(Width*8)*(i+m)+j+n)*a[1+m][1+n];
if(sum<0) sum=0;
if(sum>255) sum=255;
*(pData1+WIDTHBYTES(Width*8)*i+j)=sum;
}
file://原始圖像pData減去拉普拉斯濾波處理后的圖像pData1
for(i=0;i for(j=0;j { sum=(int)(*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)-4*(*(pData1+WIDTHBYTES(Width*8)*i+j)));
if(sum<0) sum=0;
if(sum>255) sum=255;
*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)=sum;
}
StretchDIBits (hDC,0,0,lpDIBHdr->biWidth,lpDIBHdr->biHeight,0,0,
lpDIBHdr->biWidth,lpDIBHdr->biHeight,
lpDIBBits,(LPBITMAPINFO)lpDIBHdr,
DIB_RGB_COLORS,
SRCCOPY);
}

Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖一)

(a)LENA原圖
Visual C++實(shí)現(xiàn)數(shù)字圖像增強(qiáng)處理(下)(圖十五)
(b)拉普拉斯銳化圖

                    圖 五

  本文主要講解了圖像直方圖的基本概念和圖像點(diǎn)處理運(yùn)算中的增強(qiáng)、平滑、銳化概念和實(shí)現(xiàn)算法,并給處理實(shí)現(xiàn)代碼和處理效果圖和廣大讀者朋友們交流,希望達(dá)到拋磚引玉的作用。

posted on 2008-09-10 19:22 wrh 閱讀(824) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導(dǎo)航

<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

統(tǒng)計(jì)

常用鏈接

留言簿(19)

隨筆檔案

文章檔案

收藏夾

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品欧美一区喷水| 亚洲第一综合天堂另类专| 国产精品视频专区| 国产精品扒开腿做爽爽爽软件| 美女精品在线| 模特精品裸拍一区| 免费亚洲一区二区| 欧美精品一区二区三区一线天视频| 另类综合日韩欧美亚洲| 欧美aa在线视频| 欧美日韩一区二区在线观看视频| 欧美午夜精品久久久| 国产欧美日韩综合| 在线精品国产欧美| 亚洲天堂久久| 久久先锋影音av| 亚洲精品偷拍| 欧美一区二视频| 欧美成人免费网站| 国产欧美精品国产国产专区| 激情av一区二区| 一区二区欧美视频| 欧美全黄视频| 国产午夜精品美女视频明星a级 | 亚洲一区国产视频| 久久久久久久国产| 国产精品福利网| 亚洲黄色在线| 欧美一区成人| 亚洲精品美女久久7777777| 亚洲欧美综合一区| 欧美日韩美女在线| 亚洲激情在线视频| 久久久久国色av免费观看性色| 亚洲国产成人精品久久| 亚洲女人天堂成人av在线| 免费永久网站黄欧美| 国产精品私房写真福利视频| 99爱精品视频| 欧美电影免费观看高清| 先锋a资源在线看亚洲| 欧美特黄a级高清免费大片a级| 伊人婷婷久久| 久久久久国内| 性久久久久久久久久久久| 欧美午夜免费| 亚洲小说区图片区| 日韩视频免费在线| 欧美激情国产日韩精品一区18| 樱桃成人精品视频在线播放| 久久精品主播| 香蕉亚洲视频| 国产一区91精品张津瑜| 午夜在线不卡| 亚洲中字在线| 国产精品网红福利| 亚洲天堂免费在线观看视频| 亚洲精品久久久久| 欧美精品麻豆| 夜久久久久久| 亚洲开发第一视频在线播放| 欧美高清免费| 亚洲视频在线二区| 一区二区日韩| 国产精品美女久久久免费| 亚洲一区在线直播| 亚洲一区二区三区视频| 国产日韩在线看片| 久久精品国产99| 久久久97精品| 亚洲国产精品久久久久秋霞影院| 免费日韩av| 欧美激情综合网| 亚洲无线观看| 午夜电影亚洲| 激情五月婷婷综合| 欧美黄在线观看| 欧美日韩另类视频| 欧美一区二区久久久| 久久久久久久国产| 国产精品久久77777| 午夜在线精品偷拍| 久久久美女艺术照精彩视频福利播放| 一色屋精品视频在线观看网站| 欧美激情欧美狂野欧美精品| 欧美日本韩国一区| 欧美一级大片在线观看| 久久久综合网站| 亚洲一二三级电影| 欧美在线视频不卡| 日韩视频在线观看一区二区| 亚洲一区黄色| 亚洲经典在线看| 亚洲一区二三| 日韩亚洲欧美成人一区| 午夜精品亚洲| 一区二区欧美激情| 久久精品亚洲一区| 亚洲一区二区三区免费视频| 久久久精品国产一区二区三区| 一本到12不卡视频在线dvd| 亚洲自拍三区| 亚洲六月丁香色婷婷综合久久| 亚洲在线网站| 正在播放欧美一区| 老牛影视一区二区三区| 欧美一区二区免费| 欧美日韩综合不卡| 欧美激情一区二区在线 | 久久大香伊蕉在人线观看热2| 亚洲国产一区二区三区青草影视| 亚洲手机在线| 一区二区三区精品在线| 麻豆成人在线观看| 久久免费视频一区| 国产精品久久久久久久免费软件 | 亚洲高清视频在线| 性18欧美另类| 亚洲欧美日韩视频二区| 欧美阿v一级看视频| 久久久久在线| 国产麻豆精品久久一二三| 亚洲激情成人网| 悠悠资源网久久精品| 亚洲制服丝袜在线| 亚洲欧美不卡| 欧美性一区二区| 亚洲精品资源美女情侣酒店| 在线精品视频一区二区三四| 欧美一级黄色录像| 久久riav二区三区| 国产精品午夜春色av| 中文在线不卡视频| 亚洲欧美日韩天堂一区二区| 欧美日韩一区二区三区在线视频| 亚洲国产成人91精品| 亚洲精品中文字幕有码专区| 欧美成人性网| 亚洲欧洲日本国产| 日韩亚洲综合在线| 欧美全黄视频| 亚洲五月婷婷| 久久成人久久爱| 麻豆精品一区二区综合av| 免费久久99精品国产| 精品av久久久久电影| 久久精品国产免费| 久久综合五月| 亚洲精品在线电影| 欧美视频手机在线| 午夜精品久久久久| 美女精品在线观看| 亚洲精品偷拍| 国产精品二区三区四区| 亚洲一区二区av电影| 久久不射网站| 亚洲电影免费观看高清| 欧美精品一区二区在线观看| 亚洲免费激情| 久久久xxx| 99精品视频网| 国产精品亚洲综合色区韩国| 久久国产婷婷国产香蕉| 亚洲高清一区二| 亚洲欧美欧美一区二区三区| 国产亚洲精品久久久久婷婷瑜伽| 久久野战av| 亚洲一级在线| 欧美刺激午夜性久久久久久久| 亚洲精品亚洲人成人网| 国产精品v欧美精品v日韩| 久久精品国产精品亚洲精品| 亚洲欧洲一区二区三区| 欧美专区在线观看| 亚洲美洲欧洲综合国产一区| 国产日韩精品久久久| 欧美国产日韩视频| 欧美在线观看天堂一区二区三区| 欧美激情亚洲精品| 欧美一区二区精美| 一区二区三区成人精品| 尤物yw午夜国产精品视频| 欧美午夜在线| 久热精品在线视频| 欧美亚洲专区| 一区二区三区回区在观看免费视频| 老司机凹凸av亚洲导航| 亚洲影院污污.| 日韩亚洲欧美综合| 一区在线视频| 国产一二三精品| 国产精品一区视频网站| 欧美另类一区| 欧美成人免费网| 玖玖国产精品视频| 久久精品99无色码中文字幕| 亚洲午夜久久久| 一区二区三区精品视频在线观看| 亚洲高清视频的网址| 欧美成人精品激情在线观看 |