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

正文內(nèi)容

指紋自動識別系統(tǒng)畢業(yè)設計論文(完整版)

2024-07-31 03:58上一頁面

下一頁面
  

【正文】 函數(shù),因此由()式可知連續(xù)小波積分給出了信號f(t)具有時間窗[b十a(chǎn)t*a,b+at*+a ]的局部信息。通常a的離散化按照2的冪級數(shù)進行,即:,b的離散化為。 指紋圖像二維小波變換概念及算法概念:一維信號的離散小波變換很容易推廣到二維的情況。 //圖像矩陣的縱坐標short Trans_Coeff0。 if (fRadius==2){spTransData0[Trans_H][Trans_N] = (spOriginData[Trans_H][Trans_W])。spTransData0[Trans_H][nWidth_H+Trans_N]= spTransData1[Trans_H][Trans_W+1]。 } //完成一個偶系數(shù)的邊界處理Trans_Coeff1 = ((spTransData0[Trans_H][nWidth_H1]+spTransData0[Trans_H][nWidth_H2])1)。spTransData0[Trans_H][Trans_N]= spTransData0[Trans_H][Trans_N]+Trans_Coeff0。 Trans_NnWidth_H。 //第一次提升奇數(shù)坐標系數(shù)for(Trans_M=0。}Trans_Coeff1 = ((spTransData1[nHeight_H1][Trans_N]+spTransData1[nHeight_H2][Trans_N])1)。Trans_Coeff0 = ((spTransData1[nHeight_H][nWidth_H+Trans_N]+spTransData1[nHeight_H+1][nWidth_H+Trans_N])2)。}}//存放小波系數(shù),LL頻帶的系數(shù)進行幅值增強處理,其高頻頻帶的系數(shù)則削弱其幅值for(Trans_N=0。 在實際編程中,圖像的類型是24位bmp圖像,并且默認的是R、G、B分量相同的灰度圖像,如果打開的是彩色圖像,程序會以默認的灰度圖像格式進行處理。unsigned long biWidth = lpBitmapInfoHeaderbiWidth。short MaxPixVal,MinPixVal,Diff。 i ++) { spOriginData[i] = new short [biWidth]。 x(int)biWidth。 m_bOnce = m_bOnce amp。 y++) { for( x=0。 y++) { for(x=0。 m_pTransfered[cur+1]= (unsigned char)fTempBufforDisp。當變換層數(shù)大于1時,第2層以后的小波變換的對象是LL頻帶的小波系數(shù),該頻帶的系數(shù)包含了圖像的基本信息,它是圖像能量集中的頻帶。 pTran1 = spTransData1。iHeight=iHeight1。unsigned char *lpData = m_pBitmap + lpBitmapFileHeaderbfOffBits。 unsigned char tempR, tempG, tempB。 for(int i = 0。 y(int)biHeight。 //no problem}} //完成圖像的三次小波變換pTransDWT_TriLayers(spOriginData,spTransData0,spTransData1,biHeight,biHeight/2,biWidth,biWidth/2,3,)。 //得到小波系數(shù)的極大值和極小值 for( y=0。 //將圖像的小波數(shù)據(jù)處理后放入顯示緩存中for(y=0。 cur= y*biAlign+3*x。}編譯完成后,如圖28所示。傳統(tǒng)基于傅立葉變換的圖像濾波處理大都采用傅立葉變換后的頻率域的乘法運算,但是傅立葉變換的計算量大,并且變換后的頻譜與原始圖像的相關(guān)性不強。而進行濾波處理時,為了保持圖像信息,可以選擇去除下層高頻帶的小波系數(shù),而保留上層高頻帶的小波系數(shù),這樣能達到較好的濾波效果。 m_FilterData = new short * [nHeight]。 j ++) { m_FilterData[i][j] = 0。 }} delete spTransData0。LPBITMAPFILEHEADER lpBitmapFileHeader = (LPBITMAPFILEHEADER)m_pBitmap。 //圖像小波系數(shù)的低通濾波層數(shù)為3層 int MaxLayer = 3。 } //獲取顯示緩存中的原始圖像數(shù)據(jù) for(y=0。ImgData[biHeight1y][x]=(short)(*tempR+*tempG+*tempB)。 x++) { cur= y*biAlign+3*x。 圖222 去除LL小波系數(shù)的高通濾波處理利用小波變換處理分頻帶的圖像信息處理是十分容易的,通過改變各頻帶小波系數(shù)的幅值,或者是小波系數(shù)的相位信息均能完成很好的處理。(2)函數(shù)參數(shù): short **pData:二維指針,存放正則化后的小波系數(shù) int nHeight:圖像屬性參數(shù),數(shù)值為原始圖像的高度值 int nHeight_H:圖像屬性參數(shù),數(shù)值為原始圖像高度值的一半 int nWidth:圖像屬性參數(shù),數(shù)值為原始圖像的寬度值 int nLayer:小波變換的層數(shù) (3)函數(shù)返回值:函數(shù)無返回值,小波系數(shù)參數(shù)是利用指針進行調(diào)用(4)函數(shù)代碼void CWFilter::HPass_Filter2(short **pData, int nHeight, int nWidth,int nLayer){ short **spOriginData, **spTransData0, **spTransData1。 i ++) { spTransData0[i] = new short [nWidth]。 j nWidth 。} 該函數(shù)衰減了LL頻帶的小波系數(shù):衰減為原來的1/2,而高頻頻帶的小波系數(shù)不衰減,這樣逆變換后,使得圖像的邊緣信息十分明顯。 unsigned long bmSize = biHeight * biAlign。 for(int i = 0。 tempB=lpData[cur]。 y(int)biHeight。 //刪除臨時的圖像數(shù)據(jù)空間 delete ImgData。 x(int)biWidth。 tempR=lpData[cur+2]。 i ++) { ImgData[i] = new short [biWidth]。 if(m_pTransfered==NULL)return。圖223 菜單選項圖224 消息ID的定義該函數(shù)代碼如下:void CWvltDoc::OnFilterSharpness2() { // TODO: Add your mand handler code here //讀取數(shù)字圖像的文件頭,獲取圖像的屬性參數(shù)LPBITMAPINFOHEADER lpBitmapInfoHeader = (LPBITMAPINFOHEADER)(m_pBitmap+14)。 if(i nHeight / 8 amp。 m_FilterData[i] = new short [nWidth]。 spOriginData = pData。其思路與低通濾波非常相似。m_pTransfered[cur+1]= (unsigned char)[biHeight 1 y][x]。 //小波低通濾波處理 (ImgData, biHeight, biWidth, MaxLayer, 1)。 y++) { for(x=0。 float fTempBufforDisp。 unsigned long biHeight = lpBitmapInfoHeaderbiHeight。 DWT_Inverse(iHeight, iWidth, 3)。TransDWT_TriLayers(spOriginData, spTransData0, spTransData1, nHeight, nHeight/2, nWidth, nWidth/2, nLayer, )。 i nHeight。如圖219所示,程序完成了圖像低尺度下的低通濾波操作,去除了大量的圖像高頻邊緣信息。所以,在濾波器的設計上,可以針對不同頻帶分別設計。我們可以通過了解小波系數(shù)的分布情況,通過不同的濾波器來處理小波系數(shù),濾波后的小波變換經(jīng)過逆變換后便能得到理想的處理結(jié)果。 m_pTransfered[cur+1]= (unsigned char)fTempBufforDisp。 y++) { for(x=0。 y++) { for( x=0。 m_bTribl = m_bTribl amp。 x(int)biWidth。 i ++) { spOriginData[i] = new short [biWidth]。 short MaxPixVal,MinPixVal,Diff。unsigned long biWidth = lpBitmapInfoHeaderbiWidth。iHeight_H=iHeight/2。 iWidth_H = nWidth_H。 下面看一下3層小波變換的實現(xiàn)代碼:(1)函數(shù)描述DWT_TriLayers完成三次圖像的小波變換 (2)函數(shù)參數(shù)short **spOriginData:二維指針,指向原始的圖像數(shù)據(jù) short **spTransData0:小波變換系數(shù),存放一次水平變換后的小波系數(shù) short **spTransData1:小波變換系數(shù),存放一次數(shù)值變換后的小波系數(shù) int nHeight :圖像屬性參數(shù),數(shù)值為原始圖像的高度值 int nHeight_H:圖像屬性參數(shù),數(shù)值為原始圖像高度值的一半int nWidth :圖像屬性參數(shù),數(shù)值為原始圖像的寬度值 int nWidth_H :圖像屬性參數(shù),數(shù)值為原始圖像寬度值的一半int layer:小波變換的層數(shù),數(shù)值為3層 float fRadius :小波變換因子,(3)函數(shù)代碼Void CWvltTrans::DWT_TriLayers(short** spOriginData, short** spTransData0, short** spTransData1, int nHeight, int nHeight_H, int nWidth, int nWidth_H, int layer, float fRadius){ int i。 }} //顯示圖像的小波系數(shù) UpdateAllViews(NULL)。 x++) { //因為小波變換后的小波系數(shù)有可能超過255甚至更多,那么就將 //小波系數(shù)的范圍映射到0~255區(qū)間內(nèi),以后出現(xiàn)類似的處理,目的都是一樣的 fTempBufforDisp=spTransData1[biHeight1y][x]。 x++) { if(MaxPixValspTransData1[y][x]) MaxPixVal=spTransData1[y][x]。 ~m_bTribl amp。 tempB=lpData[cur]。 spTransData1[i] = new short [biWidth]。 //分配圖像小波變換所用的數(shù)據(jù)空間spOriginData = new short* [biHeight]。unsigned long bmSize = biHeight * biAlign。 一層小波變換地菜單以及小波ID的設定如圖24和圖25所示。 Trans_N++) {for(Trans_M=0。 //第一次提升偶數(shù)坐標系數(shù)for(Trans_M=1。spTransData1[nHeight1][Trans_N] = spTransData1[nHeight1][Trans_N]+Trans_Coeff1。 Trans_M++){ //豎直方向的變換 Trans_Coeff1 = ((spTransData1[Trans_M][Trans_N]+spTransData1[Trans_M+1][Trans_N])1)。 Trans_MnHeight_H。 Trans_MnHeight。spTransData0[Trans_H][nWidth1]= spTransData0[Trans_H][nWidth1]+Tra
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1