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

正文內容

指紋自動識別系統的設計畢業(yè)論文-資料下載頁

2025-06-28 04:22本頁面
  

【正文】 } } //顯示圖像 UpdateAllViews(NULL)。 //刪除臨時的圖像數據空間 delete ImgData。}運行結果如圖221:圖221 圖像的低通濾波 指紋圖像的高通濾波及編程實現和運行結果 圖像的高通濾波圖像的高通濾波類似于圖像的低通濾波,通過對低頻帶小波系數的衰減處理,將圖像的邊緣信息突出。如果完全去除了圖像LL頻帶的小波系數,那么將進行圖像的邊緣提取操作,如圖222所示。 圖222 去除LL小波系數的高通濾波處理利用小波變換處理分頻帶的圖像信息處理是十分容易的,通過改變各頻帶小波系數的幅值,或者是小波系數的相位信息均能完成很好的處理。這種邊緣的處理只需要通過去除LL頻帶的小波系數,而保留高頻帶的小波系數,然后將處理后的結果進行逆變換便能完成。其思路與低通濾波非常相似。CWFilter::HPass_Filter()實現了這種邊緣提取的濾波操作,CWvltDoc將圖像數據傳遞給它,函數將處理后的逆變換結果返回。完成整個濾波處理的CWvltDoc函數是CWvltDoc::OnFilterSharpness(),其對應的菜單是“濾波處理→高通濾波1”高通濾波的實現及程序、結果 如果將LL的小波系數進行有效的衰減,那么便起到圖像銳化的效果。至于衰減的系數可以隨實際應用進行調整,如果為了保證圖像信息的不失真,也可以通過增強高頻帶小波系數的方法來實現。 下面的函數代碼實現了圖像銳化處理。(1)函數描述: HPass_Filter完成圖像的高通濾波處理,得到圖像的邊緣信息。(2)函數參數: short **pData:二維指針,存放正則化后的小波系數 int nHeight:圖像屬性參數,數值為原始圖像的高度值 int nHeight_H:圖像屬性參數,數值為原始圖像高度值的一半 int nWidth:圖像屬性參數,數值為原始圖像的寬度值 int nLayer:小波變換的層數 (3)函數返回值:函數無返回值,小波系數參數是利用指針進行調用(4)函數代碼void CWFilter::HPass_Filter2(short **pData, int nHeight, int nWidth,int nLayer){ short **spOriginData, **spTransData0, **spTransData1。 int iHeight = nHeight, iWidth = nWidth。 spOriginData = pData。 spTransData0 = new short *[nHeight]。 spTransData1 = new short *[nHeight]。 m_FilterData = new short * [nHeight]。 for(int i = 0。 i nHeight。 i ++) { spTransData0[i] = new short [nWidth]。 spTransData1[i] = new short [nWidth]。 m_FilterData[i] = new short [nWidth]。 } CWvltTrans *Trans。TransDWT_TriLayers(spOriginData,spTransData0,spTransData1,nHeight,nHeight/2, nWidth, nWidth/2, nLayer, )。 for(i = 0。 i nHeight。 i ++) { for(int j = 0。 j nWidth 。 j ++) { m_FilterData[i][j] = spTransData1[i][j]。 if(i nHeight / 8 amp。amp。 j nWidth / 8) m_FilterData[i][j] /= 2。 }} delete spTransData0。 delete spTransData1。 DWT_Inverse(iHeight, iWidth, 3)。} 該函數衰減了LL頻帶的小波系數:衰減為原來的1/2,而高頻頻帶的小波系數不衰減,這樣逆變換后,使得圖像的邊緣信息十分明顯。CWFilter::HPass_Filter2()將逆變換后的數據傳遞給CWvltDoc,再通過CWvltDoc::OnFilterSharpness()來完成全部的操作,它所對應的菜單如圖223所示,消息ID的定義如圖224所示。圖223 菜單選項圖224 消息ID的定義該函數代碼如下:void CWvltDoc::OnFilterSharpness2() { // TODO: Add your mand handler code here //讀取數字圖像的文件頭,獲取圖像的屬性參數LPBITMAPINFOHEADER lpBitmapInfoHeader = (LPBITMAPINFOHEADER)(m_pBitmap+14)。LPBITMAPFILEHEADER lpBitmapFileHeader = (LPBITMAPFILEHEADER)m_pBitmap。 unsigned char *lpData = m_pBitmap + lpBitmapFileHeaderbfOffBits。 unsigned long biHeight = lpBitmapInfoHeaderbiHeight。 unsigned long biWidth = lpBitmapInfoHeaderbiWidth。 unsigned long biAlign = (biWidth*3+3)/4 *4。 unsigned long bmSize = biHeight * biAlign。 if(m_pTransfered==NULL)m_pTransfered=(unsigned char*) malloc (bmSize)。 if(m_pTransfered==NULL)return。 //圖像小波系數的高通濾波層數為3層 int MaxLayer = 3。 short **ImgData。 float fTempBufforDisp。 //圖像矩陣坐標與圖像數據 int tempR, tempG, tempB, x, y, cur。 //分配圖像數據的內存空間 ImgData = new short * [biHeight]。 for(int i = 0。 i biHeight。 i ++) { ImgData[i] = new short [biWidth]。} //獲取顯示緩存中的原始圖像數據 for(y=0。 y(int)biHeight。 y++) { for(x=0。 x(int)biWidth。 x++) { cur = y*biAlign+3*x。 tempB=lpData[cur]。 tempG=lpData[cur+1]。 tempR=lpData[cur+2]。ImgData[biHeight1y][x]=(short)(*tempR+*tempG+*tempB)。 //no problem }} //創(chuàng)建小波濾波器類 CWFilter Filter。 //小波高通濾波處理 (ImgData, biHeight, biWidth, MaxLayer)。 //屏蔽圖像復原操作標志 m_bFilter = TRUE。 //將處理后的圖像數據放入顯示緩存中 for(y=0。 y(int)biHeight。 y++) { for(x=0。 x(int)biWidth。 x++) { cur= y*biAlign+3*x。 //當前像素的位置 m_pTransfered[cur] = (unsigned char)[biHeight 1 y][x]。m_pTransfered[cur+1]= (unsigned char)[biHeight 1 y][x]。m_pTransfered[cur+2]= (unsigned char)[biHeight 1 y][x]。 }} //顯示圖像 UpdateAllViews(NULL)。 //刪除臨時的圖像數據空間 delete ImgData。}運行結果如圖225: 圖225 指紋圖像的高通濾波 指紋灰度圖像濾波去噪的目的是去除灰度指紋圖像中的叉連、斷點及模糊不清的部分.傳統的灰度圖濾波方法,如均值濾波、中值濾波、NN 最頻值濾波等,僅僅簡單地把指紋圖當作灰度圖來處理,忽視了指紋圖的一個重要特性:紋線的方向性,所以效果均不理想.采用方向圖濾波可克服傳統灰度圖濾波算法的這一缺陷,充分利用指紋圖中紋線的方向性,可以取得很好的濾波效果.方向圖濾波由點方向圖求取、點方向圖去噪聲、塊方向圖求取、塊方向圖去噪以及方向圖濾波5個基本步驟組成.點方向圖表示指紋圖像中每一像素點灰度變化最小的方向.分別求各個方向上的灰度變化,即 (218)其中:是方向d上的第k個點的灰度值;N 為方向數;n為鄰點數.如圖211所示,取8個方向,6個鄰點.由于數字圖像由離散的點組成,計算Sd 時方向上的取樣點未必與圖像上的點一一對應,因此,直接定義了各個方向上的取樣點(如圖212所示),無需要按方向計算,從而大大提高了點方向圖求取的速度. 圖210 點方向圖 圖211 取樣點示意圖而相當于在求點方向圖之前先進行了一次均值濾波操作.dl是與d垂直的方向,即dl=(d+4)mod8,點(i,j)的方向應該是S[d]取值最小而S[dl]取值最大的方向.這樣就不僅考慮了指紋紋線的切線方向灰度變化最小,同時考慮它的法線方向應是灰度變化最大的方向,求得min(Sd/Sdl),則點(i,j)的方向為d.為提高點方向圖的精度,對其進行一次去噪操作:對于每一點,若其方向與它周圍8鄰域的方向都不相同,則將此點視為噪音點,將其方向改為周圍8鄰域的主要方向.考慮到指紋紋線方向的連續(xù)性,在一個小區(qū)域內,紋線的方向一般是一致的,所以用區(qū)域的方向去代替每一點的方向更有意義.將點方向圖分成1515大小的塊,對每一塊計算方向直方圖N(d),求得直方圖峰值對應的方向d,若 (219)則d即為該塊的方向,并以此方向作為該子塊內每一點的方向,否則該子塊無塊方向.這樣不僅考慮了最大方向,還考慮了最大方向的兩個相鄰方向,從而在一定程度上彌補了用數字化方向表示連續(xù)變化方向的缺陷.塊方向圖濾波去噪思想與點方向圖濾波去噪思想一致.采用方向中值濾波方法對指紋圖像進行方向濾波.經比較,77模板的濾波效果最好,模板如圖212所示.圖212 方向中值濾波模板 方向加權中值濾波算法 在指紋圖象處理中,由于指紋圖象二值化后,在指紋的脊線上仍然存在著或多或少,大大小小的孔洞,且脊線邊緣并不光滑.即有不少的缺口和突出物.若直接對其進行細化,則這些缺口、突出物就會使細化線變得參差不平,并出現一些短小的分叉,即毛刺;同時,處于紋線上的孔洞,在保持連通性的細化處理過程中將被擴大,形成一些圓圈和網狀線.這不僅使細化圖變得雜亂,而且在特征提取時,將得到許多假特征點,從而影響以后的識別,因此,細化之前必須采取措施,對指紋二值化圖象進行修補.方向中值濾波算法簡介眾所周知,中值濾波算法 由于速度快.便于實時處理,因而在圖象平滑處理中得到了廣泛應用,但直接用中值濾波算法對方向性很強的指紋圖象進行濾波.效果并不是很理想,而且指紋紋線容易出現斷線和粘連,因此,處理這類圖象時,有必要引人方向信息,即利用指紋方向圖來指導中值濾波的進行,這種方法即所謂的方向中值濾波算法,根據文獻報道,方向中值濾波算法主要用于紋理性較強的圖象平滑.它通常采用狹長的窗口,濾波時,窗口方向隨指紋紋線方向的變化而旋轉.通常所采用的4種方向濾波窗口如圖214所示.圖213 方向中值濾波中各方向上的濾波窗口方向中值濾波法存在如下缺點,即若設濾波窗口長為N.則濾波的結果就會將那些寬度小于|W/2|的點作為噪聲濾除掉,同時還可將紋線上那些寬度小于N/2的斷裂連接起來;但它具有如下優(yōu)點,由于采用的是有方向的濾波.因此在濾波過程中對紋線損害較少,效果也比較好.方向加權中值濾波算法前已述,用方向中值濾波算法處理指紋圖象,效果固然好,但這種方法使用的是狹長的窗口,且濾波時
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1