數(shù)字圖像銳化算法研究_第1頁(yè)
數(shù)字圖像銳化算法研究_第2頁(yè)
數(shù)字圖像銳化算法研究_第3頁(yè)
數(shù)字圖像銳化算法研究_第4頁(yè)
數(shù)字圖像銳化算法研究_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 .PAGE15 / NUMPAGES15數(shù)字圖像銳化算法研究 郭志標(biāo) 指導(dǎo)老師:江健生摘要: 目前,圖像銳化是數(shù)字圖像處理的最基本的方法之一,它是為了突出圖像總的細(xì)節(jié)或者增強(qiáng)被模糊地細(xì)節(jié),這種模糊不是由于錯(cuò)誤操作,就是特殊獲取方法的固有影響。圖像銳化處理的方法多種多樣,其也包括多種應(yīng)用,從電子印象和醫(yī)學(xué)成像到工業(yè)檢測(cè)和軍事系統(tǒng)的的制導(dǎo),等等.圖像銳化的主要目的有兩個(gè):一是增強(qiáng)圖像邊緣,使模糊的圖像變得更加清晰,顏色變得鮮明突出,圖像的質(zhì)量有所改善,產(chǎn)生更適合人眼觀察和識(shí)別的圖像;二是希望經(jīng)過(guò)銳化處理后,目標(biāo)物體的邊緣鮮明,以便于提取目標(biāo)的邊緣、對(duì)圖像進(jìn)行分割、目標(biāo)區(qū)域識(shí)別、區(qū)域形狀提取等,為

2、進(jìn)一步的圖像理解與分析奠定基礎(chǔ)。圖像銳化一般有兩種方法:一是微分法,二是高通濾波法。高通濾波法的工作原理和低通濾波相似,這里不再贅述。下面主要介紹一下兩種常用的微分銳化方法:梯度銳化和拉普拉斯銳化。但由于銳化使噪聲受到比信號(hào)還要強(qiáng)的增強(qiáng),所以要求銳化處理的圖像有較高的信噪比;否則,銳化后圖像的信噪比更低。Abstract:At present, image sharpening the digital image processing is one of the basic methods, it is in order to highlight the image total detail

3、or enhancement was vague details, this kind of fuzzy is not due to erroneous operation, is a special method of obtaining inherent influence. Image sharpening method is varied, which also includes a wide variety of applications, from the electronic image and medical imaging to industrial detection an

4、d military system guidance, etc.Image sharpening has two main objectives : one is to enhance the image edge, so that the fuzzy image clarity, color is distinctive, the image quality is improved somewhat, produce more suitable for human observation and image recognition; two is the hope that through

5、the sharpening processing, the edge of the object is bright, in order to extract target edge, image segmentation, target region identification, regional shape extraction, for further image analysis and lay the foundation for. Image sharpening generally has two kinds of methods: one is the differenti

6、al method, two is high-pass filtering method. High pass filtering method and the working principle of low pass filtering similarity, here no longer. Here mainly introduce two kinds of commonly used differential sharpening method: gradient sharpening sharpening and Laplasse. But due to noise by sharp

7、ening than the strong signal enhancement, so the requirements of sharpening image with high signal to noise ratio; otherwise, after sharpening the image signal to noise ratio is lower.關(guān)鍵字:圖像銳化,微分法,高通濾波法1微分法圖像銳化1.1梯度銳化1基本理論鄰域平均法或加權(quán)平均法可以平滑圖像,反過(guò)來(lái)利用對(duì)應(yīng)的微分方法可以銳化圖像。微分運(yùn)算是求信號(hào)的變化率,有加強(qiáng)高頻率分量的作用,從而使圖像輪廓清晰。由于圖像模糊

8、的實(shí)質(zhì)是圖像受到平均或積分運(yùn)算造成的,所以為了把圖像中任何方向伸展的邊緣和模糊的輪廓變得清晰,可以對(duì)圖像進(jìn)行逆運(yùn)算如微分運(yùn)算,從而使圖像清晰化。在圖像處理中,一階微分是通過(guò)梯度法來(lái)實(shí)現(xiàn)的。對(duì)于一幅圖像用函數(shù)f(x,f)表示,定義 f(x,f)在點(diǎn)(x,f)處的梯度是一個(gè)矢量,定義為:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634090.jpgHYPERLINK :/images.51cto /files/uploadimg/20060921/153223104.gif(5-5)梯度的方向在函數(shù)f(x,f)最大變化率的方向上,梯度的幅度G

9、f(x,f) 可由下式算出:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634090.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/164542416.jpg(5-6)由上式可知,梯度的數(shù)值就是f(x,f)在其最大變化率方向上的單位距離所增加的量。對(duì)于數(shù)字圖像而言,微分 和 可用差分來(lái)近似。式(5-6)按差分運(yùn)算近似后的梯度表達(dá)式為:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634090.jpgHYPERLINK :/new.51

10、cto /files/uploadimg/20080810/164542416.jpg(5-7)為便于編程和提高運(yùn)算速度,在計(jì)算精度允許的情況下,可采用絕對(duì)差算法近似為:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634090.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/164542416.jpg(5-8)這種梯度法又稱為水平垂直差分法,另一種梯度法是交叉地進(jìn)行差分計(jì)算,稱為羅伯特梯度法(Robert Gradient),表示為:HYPERLINK :/new.51cto /file

11、s/uploadimg/20080810/1634090.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/164542416.jpg(5-9)同樣,可以采用絕對(duì)差算法近似為:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634090.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/164542416.jpg(5-10)運(yùn)用以上兩種梯度近似算法,在圖像的最后一行或最后一列無(wú)法計(jì)算像素的梯度時(shí),一般用前一行或前一列的梯度值近似代替。為了在不

12、破壞圖像背景的前提下更好地增強(qiáng)邊緣,也可以對(duì)上述直接用梯度值代替灰度值的方法進(jìn)行改進(jìn),即利用門(mén)限判斷來(lái)改進(jìn)梯度銳化方法。具體公式如下: 的計(jì)算方法可以采用式(5-8)或式(5-9)。對(duì)于圖像而言,物體和物體之間、背景和背景之間的梯度變化很小,灰度變化較大的地方一般集中在圖像的邊緣上,也就是物體和背景交接的地方。當(dāng)我們?cè)O(shè)定一個(gè)閾值時(shí),大于閾值就認(rèn)為該像素點(diǎn)處于圖像的邊緣,對(duì)結(jié)果加上常數(shù)C,以使邊緣變亮;而對(duì)于 不大于閾值就認(rèn)為該像素點(diǎn)是同類像素,即為物體或背景,常數(shù)C的選取可以根據(jù)具體的圖像特點(diǎn)。這樣,即增亮了物體的邊界,同時(shí)又保留了圖像背景原來(lái)的狀態(tài),比傳統(tǒng)的梯度銳化方法具有更好的增強(qiáng)效果和適

13、用性。2算法實(shí)現(xiàn)CImgEnhance類中的成員函數(shù)GradSharp()實(shí)現(xiàn)梯度銳化操作,本算法程序是根據(jù)門(mén)限判斷的梯度銳化方法編寫(xiě)的,閾值設(shè)為20,如果梯度加100大于255,則將其置為255。在對(duì)灰度圖像進(jìn)行梯度銳化時(shí)直接調(diào)用GradSharp()函數(shù)即可,以下是GradSharp()函數(shù)的代碼實(shí)現(xiàn)。/* 函數(shù)名稱:* GradSharp()* 參數(shù):* BYTE threshold-閾值* 返回值:* BOOL - 成功返回TRUE,否則返回FALSE* 說(shuō)明:該函數(shù)用來(lái)對(duì)圖像進(jìn)行梯度銳化* /*/void CImgEnhance:GradSharp(unsigned char thr

14、eshold) unsigned char *pSrc, *pDst, *pSrc1, *pSrc2;LONG i,j; /循環(huán)變量int bTemp;if(m_pImgDataOut != NULL)delete m_pImgDataOut;m_pImgDataOut = NULL; int lineByte = (m_imgWidth *m_nBitCount / 8 + 3) / 4 * 4;if(m_nBitCount != 8)AfxMessageBox(只能處理8位灰度圖像!);return ;/創(chuàng)建要復(fù)制的圖像區(qū)域m_nBitCountOut = m_nBitCount;int

15、lineByteOut = (m_imgWidth *m_nBitCountOut / 8 + 3) / 4 * 4;if (!m_pImgDataOut)m_pImgDataOut = new unsigned charlineByteOut * m_imgHeight;int pixelByte = m_nBitCountOut / 8;for(i = 0; i m_imgHeight; i+)for(j = 0; j m_imgWidth * pixelByte; j+)*(m_pImgDataOut + i * lineByteOut + j)= *(m_pImgData + i *

16、lineByteOut + j);for(i = 0; i m_imgHeight; i+) /每行 for(j = 0; j m_imgWidth; j+) /每列/指向新DIB第i行第j列像素的指針pDst = m_pImgDataOut + lineByte *(m_imgHeight -1 - i) + j;/進(jìn)行梯度運(yùn)算/指向DIB第i行第j列像素的指針pSrc = (unsigned char*)m_pImgData +lineByte * (m_imgHeight - 1 - i) + j;/指向DIB第i+1行第j列像素的指針pSrc1 = (unsigned char*)m_

17、pImgData +lineByte * (m_imgHeight - 2 - i) + j;/指向DIB第i行第j+1列像素的指針pSrc2 = (unsigned char*)m_pImgData +lineByte * (m_imgHeight - 1 - i)+ j + 1;bTemp = abs(*pSrc)-(*pSrc1) + abs(*pSrc)-(*pSrc2);/判斷是否小于閾值if (bTemp+120) = threshold)*pSrc = (bTemp+120);else*pSrc = 255;/生成新的DIB像素值*pDst = *pSrc;3函數(shù)調(diào)用在視圖類CD

18、emoView中映射“梯度銳化”事件的處理函數(shù)OnGradesharp()。以下是CDemoView: OnGradesharp()函數(shù)的代碼實(shí)現(xiàn)。 void CDemoView:OnGradesharp()CDemoDoc *pDoc=GetDocument();ImgCenterDib *pDib=pDoc-GetPDib();if(pDib-m_nBitCount!=8&:MessageBox(0,只處理灰度圖像,MB_OK,0);return ;CImgEnhance imgnoise(pDib-GetDimensions(),pDib-m_nBitCount,pDib-m_lpCol

19、orTable, pDib-m_pImgData);unsigned char bThre=30;imgnoise.GradSharp(bThre);CMainFrame* pFrame = (CMainFrame *)(AfxGetApp()-m_pMainWnd);pFrame-SendMessage(WM_COMMAND, ID_FILE_NEW);CDemoView* pView=(CDemoView*)pFrame-MDIGetActive()-GetActiveView();CDemoDoc* pDocNew=pView-GetDocument();ImgCenterDib *di

20、bNew=pDocNew-GetPDib();dibNew-ReplaceDib(imgnoise.GetDimensions(),imgnoise.m_nBitCountOut,imgnoise.m_lpColorTable, imgnoise.m_pImgDataOut);pDocNew-SetModifiedFlag(TRUE);pDocNew-UpdateAllViews(pView);Invalidate();4實(shí)驗(yàn)結(jié)果與分析圖5-8(a)顯示了一幅花朵的圖片,圖5-8(b)顯示了用門(mén)限判斷梯度銳化方法對(duì)該圖像濾波后的結(jié)果。由圖可以看出,經(jīng)過(guò)銳化處理后的圖像既增強(qiáng)了目標(biāo)的邊界,也保留

21、了圖像背景原來(lái)的狀態(tài)。HYPERLINK :/book.51cto /files/uploadimg/20060921/153223104.gif(點(diǎn)擊查看大圖)圖5-8 梯度銳化方法的增強(qiáng)結(jié)果2.2.1 拉普拉斯掩模銳化1基本理論拉普拉斯算子是最簡(jiǎn)單的各向同性微分算子,具有旋轉(zhuǎn)不變性。一個(gè)二維圖像函數(shù) 的拉普拉斯變換是各向同性的二階導(dǎo)數(shù),定義為:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634460.jpgHYPERLINK :/images.51cto /files/uploadimg/20060921/153223104.gif(5

22、-11)為了更適合于數(shù)字圖像處理,將該方程表示為離散形式:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634460.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/165749739.jpgHYPERLINK :/images.51cto /files/uploadimg/20060921/153223104.gif(5-12)另外,拉普拉斯算子還可以表示成模板的形式,如圖5-9所示。圖5-9(a)表示離散拉普拉斯算子的模板,圖5-9(b)表示其擴(kuò)展模板,圖5-9(c)則分別表示其他兩種

23、拉普拉斯的實(shí)現(xiàn)模板。從模板形式容易看出,如果在圖像中一個(gè)較暗的區(qū)域中出現(xiàn)了一個(gè)亮點(diǎn),那么用拉普拉斯運(yùn)算就會(huì)使這個(gè)亮點(diǎn)變得更亮。因?yàn)閳D像中的邊緣就是那些灰度發(fā)生跳變的區(qū)域,所以拉普拉斯銳化模板在邊緣檢測(cè)中很有用。一般增強(qiáng)技術(shù)對(duì)于陡峭的邊緣和緩慢變化的邊緣很難確定其邊緣線的位置。但此算子卻可用二次微分正峰和負(fù)峰之間的過(guò)零點(diǎn)來(lái)確定,對(duì)孤立點(diǎn)或端點(diǎn)更為敏感,因此特別適用于以突出圖像中的孤立點(diǎn)、孤立線或線端點(diǎn)為目的的場(chǎng)合。同梯度算子一樣,拉普拉斯算子也會(huì)增強(qiáng)圖像中的噪聲,有時(shí)用拉普拉斯算子進(jìn)行邊緣檢測(cè)時(shí),可將圖像先進(jìn)行平滑處理。HYPERLINK :/new.51cto /files/uploadimg

24、/20080810/1634460.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/165749739.jpgHYPERLINK :/images.51cto /files/uploadimg/20060921/153223104.gif圖5-9 拉普拉斯的4種模板圖像銳化處理的作用是使灰度反差增強(qiáng),從而使模糊圖像變得更加清晰。圖像模糊的實(shí)質(zhì)就是圖像受到平均運(yùn)算或積分運(yùn)算,因此可以對(duì)圖像進(jìn)行逆運(yùn)算,如微分運(yùn)算能夠突出圖像細(xì)節(jié),使圖像變得更為清晰。由于拉普拉斯是一種微分算子,它的應(yīng)用可增強(qiáng)圖像中灰度突變的區(qū)域,減弱灰度的緩慢變化區(qū)域。因此,銳

25、化處理可選擇拉普拉斯算子對(duì)原圖像進(jìn)行處理,產(chǎn)生描述灰度突變的圖像,再將拉普拉斯圖像與原始圖像疊加而產(chǎn)生銳化圖像。拉普拉斯銳化的基本方法可以由下式表示:HYPERLINK :/new.51cto /files/uploadimg/20080810/1634460.jpgHYPERLINK :/new.51cto /files/uploadimg/20080810/165749739.jpg這種簡(jiǎn)單的銳化方法既可以產(chǎn)生拉普拉斯銳化處理的效果,同時(shí)又能保留背景信息,將原始圖像疊加到拉普拉斯變換的處理結(jié)果中去,可以使圖像中的各灰度值得到保留,使灰度突變處的對(duì)比度得到增強(qiáng),最終結(jié)果是在保留圖像背景的前提

26、下,突現(xiàn)出圖像中小的細(xì)節(jié)信息。2算法實(shí)現(xiàn)CImgEnhance類中的成員函數(shù)LapTemplate()實(shí)現(xiàn)拉普拉斯銳化操作,在對(duì)灰度圖像進(jìn)行梯度銳化時(shí)直接調(diào)用LapTemplate()函數(shù)即可。以下是LapTemplate()函數(shù)的代碼實(shí)現(xiàn)。 /* 函數(shù)名稱:* LapTemplate(int inputH, intinputW, int inputX0, int inputY0, float* pTemplate, float fCoef)* 參數(shù):* int inputH-模板的高度* int inputW-模板的寬度* int inputX0-模板的中心元素X坐標(biāo)* int inputY

27、0-模板的中心元素Y坐標(biāo)* float *pTemplate-指向模板數(shù)組的指針* float f-模板系數(shù)* 返回值:* void* 說(shuō)明:* 該函數(shù)用指定的模板(任意大小)來(lái)對(duì)圖像進(jìn)行操作,參數(shù)inputH指定模板* 的高度,參數(shù)inputW指定模板的寬度,參數(shù)inputX0和iinputY0指定模板的中心* 元素坐標(biāo),參數(shù)pTemplate指定模板元素,f指定系數(shù)* 拉普拉斯銳化*/void CImgEnhance:LapTemplate(intinputH, int inputW, int inputX0, intinputY0, float *pTemplate, float f)u

28、nsigned char *pSrc, *pDst;int i,j,k,l;float value;if(m_pImgDataOut != NULL)delete m_pImgDataOut;m_pImgDataOut = NULL; int lineByte = (m_imgWidth *m_nBitCount / 8 + 3) / 4 * 4;if(m_nBitCount != 8)AfxMessageBox(只能處理8位灰度圖像!);return ;/創(chuàng)建要復(fù)制的圖像區(qū)域m_nBitCountOut = m_nBitCount;int lineByteOut = (m_imgWidth

29、*m_nBitCountOut / 8 + 3) / 4 * 4;if (!m_pImgDataOut)m_pImgDataOut = new unsigned charlineByteOut * m_imgHeight;int pixelByte = m_nBitCountOut / 8;for(i = 0; i m_imgHeight; i+)for(j = 0; j m_imgWidth * pixelByte; j+)*(m_pImgDataOut + i * lineByteOut + j)= *(m_pImgData + i * lineByteOut + j);/行處理for (

30、i = inputY0; i m_imgHeight -inputH + inputY0 + 1; i+)/列處理for (j = inputX0; j inputW + inputX0 + 1; j+)/指向新DIB第i行第j列像素的指針pDst = m_pImgDataOut + lineByte *(m_imgHeight -1 - i) + j;value=0;/計(jì)算for (k = 0; k inputH; k+)for (l = 0; l 255)*pDst = 255;else*pDst = (unsigned char)(value+0.5);3函數(shù)調(diào)用在視圖類CDemoView中映射“拉普拉斯銳化”事件的處理函數(shù):OnLaplacienSharp(),以下是CDemoView: :OnLaplacienSharp()函數(shù)的代碼實(shí)現(xiàn)。void CDemoView:OnLaplacienSharp()CDemoDoc *pDoc=GetDocument();ImgCenterDib *pDib=pDoc-GetPDib();if(pDib-m_nBitCount!=8&:MessageBox(0,只處理灰度圖像,MB_OK,0);return ;CImgEnhance imgnoise(pDib-GetDimensions(),pDib-m_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)論