freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

圖像銳化處理畢業(yè)設(shè)計說明書(編輯修改稿)

2025-08-30 11:40 本頁面
 

【文章內(nèi)容簡介】 具欄和調(diào)試工具欄。 本章小結(jié)本章首先對數(shù)字圖像處理作了一個簡單的概述,介紹了數(shù)字圖像處理的特點、目的及其主要研究的內(nèi)容,對數(shù)字圖像處理有一個初步的認識;然后分析了用VC++語言進行軟件開發(fā)的優(yōu)勢;最后對要使用的集成開發(fā)環(huán)境VC++ 進行了大致的介紹,以便于后面的使用。第四章 算法分析與描述圖像銳化處理的目的是為了使圖像的邊緣。輪廓線以及圖像的細節(jié)變得清晰。經(jīng)過平滑處理的圖像變得模糊的根本原因是圖像受到了平均或積分運算,因此對其進行逆運算(微分運算)就可以使圖像變得清晰。為了要把圖像中間任何方向延伸的邊緣和輪廓線變得清晰,必須選擇那些不具備空間方向性的和具有旋轉(zhuǎn)不變的線性微分算子。最基本的一類邊緣檢測算子是微分類算子。包括: Sobel算子、Robel梯度算子、Prewitt邊緣檢測算子、Laplacian算子等。從頻率域來考慮,圖形模糊的實質(zhì)是因為其高頻分量被衰減,因此可以用高通濾波器來使圖像變得清晰。這里介紹3種常用的頻域高通濾波器,分別是理想高通濾波器(IHPF)、巴特沃思高通濾波器(BHPE)。 空域微分銳化方法圖像的模糊相當于圖像被平均或被積分,為實現(xiàn)圖像的銳化,必須用它的反運算“微分”,加強高頻分量的作用,從而使圖像輪廓清晰。由于模糊圖像的特征(如邊沿的走向等)各不相同,要進行銳化,應(yīng)該采用各向同性、具有旋轉(zhuǎn)不變的線性微分算子。圖像處理中最常用的微分方法是求梯度。對于圖像f(x,y),它所在的梯度是一個矢量,定義為點(x,y)梯度的幅度為梯度的模,即 對數(shù)字圖像用微分運算不方便,一般用差分來近似。常用的梯度差分有: 為了運算簡便,可以簡化為或者利用Roberts 梯度算子 Roberts 算子也可以簡化為常用的梯度算子還有Laplacian 算子。Lapalacian 算子是仿效屬性上的,它是用二階差分實現(xiàn)的。用模板算子來表示為:也可以推廣Laplacian 算子,考慮進對角線方向,這樣它就是一個8 鄰域的算子,其模板為Laplacian 算子有兩個缺點,一個是邊沿的方向被丟失,另一個是Laplacian 算子為二階差分,雙倍加強了圖中的噪聲影響。優(yōu)點是各向同性,即旋轉(zhuǎn)不變。梯度算子一旦算出后,就可以根據(jù)不同的需要生成不同的梯度增強圖像。最簡單的就是用該點的梯度幅度代替此點的灰度。此方法的缺點是增強的圖像僅僅顯示灰度變換比較陡峭的邊沿輪廓,而灰度變化比較平緩或者比較均勻的地方則呈現(xiàn)黑色。人們又提出了一些改進的方法,例如 其中T 是一個非負的閾值。適當?shù)倪x取T,即可使明顯的邊沿輪廓得到突出,并且不會破壞原來灰度變換比較平緩的背景。拉式算子是一個刻畫圖像灰度的二階商算子,它是點、線、邊界提取算子,亦稱為邊界提取算子。通常圖像和對他實施拉式算子后的結(jié)果組合后產(chǎn)生一個銳化圖像。拉式算子用來改善因擴散效應(yīng)的模糊特別有效,因為它符合降制模型。擴散效應(yīng)是成像過程中經(jīng)常發(fā)生的現(xiàn)象。最簡單的二階各向同性微分算子是拉普拉斯微分算子,具有旋轉(zhuǎn)不變性。二維圖像f(x,y)的拉普拉斯微分算子定義為:寫成模板系數(shù)形式形式即為Laplacian算子:其上形式為離散拉普拉斯算子的模板,另外還有擴展模板,表示如下:從模板形式容易看出,如果在圖像中一個較暗的區(qū)域中出現(xiàn)了一個亮點,那么用拉普拉斯運算就會使這個亮點變得更亮。因為圖像中的邊緣就是那些灰度發(fā)生跳變的區(qū)域,所以拉普拉斯銳化模板在邊緣檢測中很有用。一般增強技術(shù)對于陡峭的邊緣和緩慢變化的邊緣很難確定其邊緣線的位置。但此算子卻可用二次微分正峰和負峰之間的過零點來確定,對孤立點或端點更為敏感,因此特別適用于以突出圖像中的孤立點、孤立線或線端點為目的的場合。同梯度算子一樣,拉普拉斯算子也會增強圖像中的噪聲,有時用拉普拉斯算子進行邊緣檢測時,可將圖像先進行平滑處理。laplace算子是與方向無光的各向同性邊緣檢測算子,若只關(guān)心邊緣點的位置而不顧其周圍的實際灰度差時,:各向同性,線性和位移是不變的,對線性和孤立點檢測效果好,但邊緣方向信息丟失,常產(chǎn)生雙像素的邊緣,對噪聲有雙倍的加強作用。 Roberts交叉微分算子函數(shù)Roberts算子模板是一個22的模板,左上角的是當前待處理像素f(),則交叉微分算子定義如下:其模板可以表示為:,例如:已知原始圖像F,求:用Roberts交叉微分算子的處理結(jié)果。 Prewitt微分算子函數(shù)(平均差分法)Prewitt微分算子的思路與Sobel微分算子的思路類似,是在一個奇數(shù)大小的模板中定義其微分運算。 Priwitt微分算子定義如下:因為平均能減少或消除噪聲,Prewitt梯度算子法就是先求平均,再求差分來求梯度。水平和垂直梯度模板分別為: 利用檢測模板可求得水平和垂直方向的梯度,再通過梯度合成和邊緣點判定,就可得到平均差分法的檢測結(jié)果。prewitt算子為在檢測邊緣的同時減少噪聲的影響,從加大邊緣檢測算子的模板大小出發(fā),由2*2擴大到3*3來計算差分算子,采用prewitt算子能檢測到邊緣點,還可以抑制噪聲。 Sobel微分算子函數(shù)(加權(quán)平均差分法)Sobel算子具有一定的噪聲抑制能力,在檢測階躍邊緣時得到的邊緣寬度至少為二像素,它不依賴于邊緣方向的二階微分算子,是一個標準量而不是向量,具有旋轉(zhuǎn)不變即各向同性的性質(zhì)。在圖像處理中常被用于提取圖像的邊緣。Sobel算子是典型的基于一階導(dǎo)數(shù)的邊緣檢測算子,由于該算子中引入了類似局部平均的運算,因此對噪聲具有平滑作用,能很好的消除噪聲的影響。Sobel算子包含兩組3x3的矩陣,分別為橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。Sobel微分算子定義如下: (式1) (式2) 如果用圖像處理的模板來表示,則有:      (式3)下面以一個簡單的例子來體會該算法。設(shè)原圖像為 對中模板罩不住的地方其處理結(jié)果令為0,其它的像素一次按照式(式1)進行計算。例如,對的模板下的圖像子塊為:計算結(jié)果為 最終處理結(jié)果為單獨使用Sobel算子做邊緣檢測,邊緣定位精度不高,有時還可能對非邊緣像素的響應(yīng)大于某些邊緣處的響應(yīng)或者響應(yīng)差別不是很大,造成漏檢或誤檢,但是它對噪聲具有較好的魯棒性。Prewitt算子和Sobel算子提取邊緣的結(jié)果差不多。在提取邊緣的同時它對噪聲具有平滑作用,能夠抑制一定的噪聲。由于Prewitt邊緣檢測算子是通過八個方向模板對圖像進行卷積運算,因此運算量比較大。sobel算子在prewitt算子基礎(chǔ)上能檢測邊緣點,且能進一步抑制噪聲的影響,但檢測的邊緣較寬。梯度算子和laplacian算子都對噪聲敏感,因此一般用它們檢測邊緣前要先對圖像進行平滑。 頻域高通濾波銳化方法這里所講的高通濾波是指頻域的高通濾波,也是圖像銳化處理中常用的一種方法。圖形中的邊緣和線條與圖像頻譜中的高頻分量相對應(yīng),因此可以通過高通濾波的方法,使低頻分量得到抑制,從而達到增強高頻分量,使圖像的邊緣或線條變得清晰的目的。其數(shù)學(xué)表達式。這里G(u,v)為高通濾波器處理后的圖像;H(u,v)為頻域高通濾波器的傳遞函數(shù);F(u,v)為原始圖像f(u,v)的傅氏變換。其傳遞函數(shù)H(u,v)可以表示為: 為截止頻率,根據(jù)需要選擇。 是頻率平面上點(u,v)到原點(0,0)的距離。n階巴特沃思高通濾波器的傳遞函數(shù)H(u,v)可以表示為:為截止頻率,n為級數(shù)。指數(shù)高通濾波器的傳遞函數(shù)H(u,v)可以表示為:為截止頻率,n為級數(shù)。第五章 詳細設(shè)計過程圖像銳化處理源圖像如下:圖51源圖像利用前面介紹的微分算子就可以輕松地實現(xiàn)空域中圖像銳化。在這里,我們利用Lapacian 算子來進行示例。下面的函數(shù)LinearSharp()利用Lapacian 算子實現(xiàn)了圖像的銳化,其具體代碼實現(xiàn)如下所示。/*************************************************************************** \函數(shù)名稱:* LinearSharpen()** \輸入?yún)?shù):* LPBYTE lpImage 指向圖像數(shù)據(jù)得指針* int nWidth 圖像數(shù)據(jù)寬度* int nHeight 圖像數(shù)據(jù)高度** \返回值:* 無** \說明:* 線性銳化圖像增強* 本函數(shù)采用拉普拉斯算子對圖像進行線性銳化* 在原來圖像上加上拉普拉斯算子銳化的信息***************************************************************************/void LinearSharpen (LPBYTE lpImage, int nWidth, int nHeight){// 遍歷圖像的縱坐標int y。// 遍歷圖像的橫坐標int x。double * pdGrad 。pdGrad = new double[nWidth*nHeight]。// 初始化為0memset(pdGrad, 0, nWidth*nHeight*sizeof(double)) 。// 設(shè)置模板系數(shù)static int nWeight[3][3] 。nWeight[0][0] = 1 。nWeight[0][1] = 1 。nWeight[0][2] = 1 。nWeight[1][0] = 1 。nWeight[1][1] = 8 。nWeight[1][2] = 1 。nWeight[2][0] = 1 。nWeight[2][1] = 1 。nWeight[2][2] = 1 。//這個變量用來表示Laplacian 算子像素值int nTmp[3][3]。// 臨時變量double dGrad。// 模板循環(huán)控制變量int yy 。int xx 。for(y=1。 ynHeight1 。 y++ )for(x=1 。 xnWidth1 。 x++ ){dGrad = 0 。// Laplacian 算子需要的各點像素值// 模板第一行nTmp[0][0] = lpImage[(y1)*nWidth + x 1 ] 。nTmp[0][1] = lpImage[(y1)*nWidth + x ] 。nTmp[0][2] = lpImage[(y1)*nWidth + x + 1 ] 。// 模板第二行nTmp[1][0] = lpImage[y*nWidth + x 1 ] 。nTmp[1][1] = lpImage[y*nWidth + x ] 。nTmp[1][2] = lpImage[y*nWidth + x + 1 ] 。// 模板第三行nTmp[2][0] = lpImage[(y+1)*nWidth + x 1 ] 。nTmp[2][1] = lpImage[(y+1)*nWidth + x ] 。nTmp[2][2] = lpImage[(y+1)*nWidth + x + 1 ] 。// 計算梯度for(yy=0。 yy3。 yy++)for(xx=0。 xx3。 xx++){dGrad += nTmp[yy][xx] * nWeight[yy][xx] 。}// 梯度值寫入內(nèi)存*(pdGrad+y*nWidth+x)=dGrad。}for(y=0。 ynHeight 。 y++ ){for(x=0 。 xnWidth 。 x++ ){lpImage[y*nWidth+x] = (unsigned char)max(0,min(255,(lpImage[y*nWidth+x]+ (int)pdGrad[y*nWidth+x]) ))。}}delete []pdGrad 。pdGrad = NULL 。}實現(xiàn)函數(shù)LinearSharp()后,在菜單“圖像增強”添加菜單項“圖像銳化”。向類CimageProcessingView 中添加該菜單的點擊
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1