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

正文內(nèi)容

圖像銳化處理_畢業(yè)設(shè)計(jì)說明書-資料下載頁

2025-07-02 14:44本頁面

【導(dǎo)讀】領(lǐng)域必然涉及到人類生活和工作的方方面面。隨著人類活動(dòng)范圍的不。斷擴(kuò)大,圖像處理的應(yīng)用領(lǐng)域也將隨之不斷擴(kuò)大。換、沃爾什變換、離散余弦變換等;圖象銳化處理;圖像編碼壓縮;圖像增強(qiáng)和復(fù)原;圖像分割;圖像描述;圖像分類(識別)。的常見噪聲主要有加性噪聲、乘性噪聲和量化噪聲等。時(shí)圖像邊緣信息也主要集中在其高頻部分。這將導(dǎo)致原始圖像在平滑。圖像銳化處理的目的是為了使圖像的邊緣、輪廓。從頻率域來考慮,圖像模糊的實(shí)質(zhì)是。因?yàn)槠涓哳l分量被衰減,因此可以用高通濾波器來使圖像清晰。去除或減輕噪聲后再進(jìn)行銳化處理。圖像是人類獲取信息、表達(dá)信息和傳遞信息的重要手段。生俱來是人類生活中最直觀、最豐富和最生動(dòng)的信息表示形式。信息來認(rèn)識和判斷事物,解決實(shí)際問題。維空間中坐標(biāo)點(diǎn)的位置,而f則代表圖像在點(diǎn)(x,y)的某種性質(zhì)的數(shù)值。常見的圖像是連續(xù)的,即f(x,y)的值可以是任意實(shí)數(shù)。后的圖像稱為數(shù)字圖像。數(shù)字圖像是由有限的元素組成的,每個(gè)元素都有一

  

【正文】 rocessingDoc *)thisGetDocument()。 CDib * pDib = pDocm_pDibInit。 LPBITMAPINFOHEADER lpBMIH=pDibm_lpBMIH。 // 判斷是否是 8bpp 位圖 if (lpBMIHbiBitCount != 8) { // 提示用戶 MessageBox(目前只支持 256 色位圖的圖 像分割! , 系統(tǒng)提示 , MB_ICONINFORMATION | MB_OK)。 // 返回 return。 } // 循環(huán)控制變量 int y。 int x。 CSize sizeImage = pDibGetDimensions()。 int nWidth = 。 int nHeight= 。 int nSaveWidth = pDibGetDibSaveDim().cx。 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 32 // 開辟內(nèi)存,存儲(chǔ)圖像數(shù) 據(jù) ,該 數(shù)據(jù)的存儲(chǔ) 不是 DWORD 對齊的 unsigned char * pUnchImage = new unsigned char[nWidth*nHeight]。 for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { pUnchImage[y*nWidth+x] = pDibm_lpImage[y*nSaveWidth+x]。 } } // 調(diào)用 LinearSharpen 函數(shù)進(jìn)行圖像 銳化增強(qiáng) LinearSharpen(pUnchImage, nWidth, nHeight) 。 Visual C++數(shù)字圖像 獲取、處理 及實(shí)踐應(yīng)用 180 // 增強(qiáng)以后的圖像拷貝到 pDib 中,進(jìn)行顯示 for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { pDibm_lpImage[y*nSaveWidth+x] = pUnchImage[y*nWidth+x]。 } } // 釋放內(nèi)存 delete []pUnchImage。 pUnchImage = NULL 。 // 恢復(fù)光標(biāo)形狀 EndWaitCursor()。 // 設(shè)置臟標(biāo)記 pDocSetModifiedFlag(TRUE)。 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 33 // 更新視圖 pDocUpdateAllViews(NULL)。 } 圖 52 拉普拉斯 微 分 算 子 銳 化 處 理 后 的 圖 像 理想高通濾波圖像銳化編 程實(shí)現(xiàn)說明 利用前面介紹的理想 高通濾波實(shí) 現(xiàn)圖像銳化 。 下面的函數(shù) HighPassFilterEnhance()利用理想高 通濾波實(shí)現(xiàn)了圖像銳化,其具體代 碼實(shí)現(xiàn)如下 所示。 /************************************************************************* * * \函數(shù)名稱: * HighPassFilterEnhance() * * \輸入?yún)?shù) : * LPBYTE lpImage 指向需要增強(qiáng)得 圖像數(shù)據(jù) * int nWidth 數(shù)據(jù)寬 度 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 34 * int nHeight 數(shù)據(jù)高度 * int nRadius 高通濾波的濾 波半徑 * * \返回值 : * 無 * * \說明 : * lpImage 是指向需要增強(qiáng) 的數(shù)據(jù)指針 。注意,這個(gè)指針指 向的數(shù)據(jù)區(qū)不能是 CDib 指向的數(shù) * 據(jù)區(qū),因?yàn)?CDib 指向的數(shù)據(jù)區(qū)的每 一行是 DWORD 對齊的。 * 經(jīng)過高通濾波的數(shù) 據(jù)存儲(chǔ)在 lpImage 當(dāng)中 * ************************************************************************* */ void HighPassFilterEnhance(LPBYTE lpImage, int nWidth, int nHeight, int nRadius) { // 循環(huán)控制變量 int y 。 int x 。 double dTmpOne 。 double dTmpTwo 。 // 傅立葉變換的寬度和高 度( 2 的整數(shù)次冪) int nTransWidth 。 int nTransHeight。 // 圖像像素值 unsigned char unchValue。 // 指向時(shí)域數(shù)據(jù)的指針 plexdouble * pCTData 。 // 指向頻域數(shù)據(jù)的指針 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 35 plexdouble * pCFData 。 double dReal。 double dImag。 // 計(jì)算進(jìn)行傅立葉變換的 點(diǎn)數(shù) ( 2 的整數(shù)次冪) dTmpOne = log(nWidth)/log(2)。 dTmpTwo = ceil(dTmpOne) 。 dTmpTwo = pow(2,dTmpTwo) 。 nTransWidth = (int) dTmpTwo 。 // 計(jì)算進(jìn)行傅立葉變換的 點(diǎn)數(shù) ( 2 的整數(shù)次 冪) dTmpOne = log(nHeight)/log(2)。 dTmpTwo = ceil(dTmpOne) 。 dTmpTwo = pow(2,dTmpTwo) 。 nTransHeight = (int) dTmpTwo 。 // 濾波的半徑不能超過頻 域的最大半 徑 if(nRadiusnTransWidth1 || nRadiusnTransHeight1) { return 。 } // 分配內(nèi)存 pCTData=new plexdouble[nTransWidth * nTransHeight]。 pCFData=new plexdouble[nTransWidth * nTransHeight]。 // 初始化 // 圖像數(shù)據(jù)的寬和高不一 定是 2 的整數(shù)次冪,所 以 pCTData 有一部分?jǐn)?shù)據(jù)需要補(bǔ) 0 for(y=0。 ynTransHeight。 y++) { for(x=0。 xnTransWidth。 x++) { pCTData[y*nTransWidth + x]=plexdouble(0,0)。 } } 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 36 // 把圖像數(shù)據(jù)傳給 pCTData for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { unchValue = lpImage[y*nWidth +x]。 pCTData[y*nTransWidth + x]=plexdouble(unchValue,0)。 } } // 傅立葉正變換 DIBFFT_2D(pCTData, nWidth, nHeight, pCFData) 。 // 下面開始濾波,把所有 小于 nRadius 的低頻分量設(shè)置為 0 // 采用的范數(shù)不是歐式距 離,而是無 窮大 范數(shù) // || (u,v)(0,0) || = max(|u|,|v|) for(y=0。 ynRadius。 y++) { for(x=0。 xnRadius。 x++) { pCFData[y*nTransWidth + x]=plexdouble(0,0)。 } } // 經(jīng)過濾波的圖像進(jìn)行反 變換 IFFT_2D(pCFData, pCTData, nWidth, nHeight)。 // 反變換的數(shù)據(jù)傳給 lpImage for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { // 因?yàn)楦咄V波器會(huì)把低 頻成分去掉 ,所以圖像 看起來會(huì)比較暗,為了解決這個(gè) //問題在經(jīng)過增強(qiáng) 后的圖像加 上一個(gè)常數(shù) ,使圖像變得 亮起來。電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 37 嚴(yán)格來講這種處理 // 相當(dāng)于增加了一些低頻分量(在頻率 (0,0))。不過如果 不加一個(gè)常數(shù),高通效果 // 在觀看上就不是很方便 。 dReal = pCTData[y*nTransWidth + x].real() 。 dImag = pCTData[y*nTransWidth + x].imag() 。 unchValue = (unsigned char) max( 0 , min ( 255 , ( sqrt (dReal * dReal + dImag * dImag ) + 100 )))。 lpImage[y*nWidth + x] = unchValue 。 } } // 釋放內(nèi)存 delete pCTData。 delete pCFData。 pCTData = NULL。 pCFData = NULL。 } 實(shí)現(xiàn)函數(shù) HighPassFilterEnhance()后 ,在菜單“ 圖像增強(qiáng)”添加菜單項(xiàng)“理想高通 濾波”。 向類 CimageProcessingView 中添加該菜單的點(diǎn)擊 事件處理程序,其具體代碼如下 所示。 /************************************************************************* * * \函數(shù)名稱: * OnEnhanceSharpFreq() * * \輸入?yún)?shù) : * 無 * 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 38 * \返回值 : * 無 * * \說明 : * 該函數(shù)利用高通濾 波實(shí)現(xiàn)圖像 增強(qiáng) * ************************************************************************ */ void CImageProcessingView::OnEnhanceSharpFreq() { // TODO: Add your mand handler code here //更改光標(biāo)形狀 BeginWaitCursor()。 CImageProcessingDoc * pDoc = (CImageProcessingDoc *)thisGetDocument()。 CDib * pDib = pDocm_pDibInit。 LPBITMAPINFOHEADER lpBMIH=pDibm_lpBMIH。 // 判斷是否是 8bpp 位圖 if (lpBMIHbiBitCount != 8) { // 提示用戶 MessageBox(目前只支持 256 色位圖的圖 像分割! , 系統(tǒng)提示 , MB_ICONINFORMATION | MB_OK)。 // 返回 return。 } // 循環(huán)控制變量 int y。 int x。 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 39 CSize sizeImage = pDibGetDimensions()。 int nWidth = 。 int nHeight= 。 int nSaveWidth = pDibGetDibSaveDim().cx。 // 開辟內(nèi)存,存儲(chǔ)圖像數(shù) 據(jù) ,該 數(shù)據(jù)的存儲(chǔ) 不是 DWORD 對齊的 unsigned char * pUnchImage = new unsigned char[nWidth*nHeight]。 for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { pUnchImage[y*nWidth+x] = pDibm_lpImage[y*nSaveWidth+x]。 } } // 調(diào)用高通濾波函數(shù)進(jìn)行 圖像增強(qiáng) HighPassFilterEnhance(pUnchImage, nWidth, nHeight, 50) 。 // 增強(qiáng)以后的圖像拷貝到 pDib 中,進(jìn)行顯示 for(y=0。 ynHeight。 y++) { for(x=0。 xnWidth。 x++) { pDibm_lpImage[y*nSaveWidth+x] = pUnchImage[y*nWidth+x]。 } } // 釋放內(nèi)存 delete []pUnchImage。 pUnchImage = NULL 。 // 恢復(fù)光標(biāo)形狀 EndWaitCursor()。 電氣工程學(xué)院學(xué)院畢業(yè)設(shè)計(jì)說明書 40 // 設(shè)置臟標(biāo)記 pDocSetModifiedFlag(TRUE)。 // 更新視圖 pDocUpdateAllViews(NULL)。 } 圖 53 理想高通 濾 波 器 銳 化 處 理 后 的 圖 像 Butterworth 高通濾波圖像銳化編程實(shí)現(xiàn)說明 利用前面介紹的 Butterworth 高通濾波實(shí)現(xiàn) 圖像銳化。 下面的函數(shù) ButterWorthHigh
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1