




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、LOG 濾波器提取邊緣實驗報告朱俊 0220080198實驗內容1 用 LOG 濾波器提取圖像邊緣2 比較直接濾波和先縮小原圖進行濾波再插補的乘法次數實驗原理1 LOG 濾波器原理設I(x,y)代表灰度變化,灰度變化劇烈的地方就是階躍點,而階躍點的一 次微商為極大值,二次微商為零。因此二次微商為零的地方就是圖像的邊緣 所在。LOG濾波器是高斯(GAUSS)濾波和拉普拉斯(LAPLACIAN)濾波的結合, 即先用高斯濾波器進行平滑濾波,以過慮調噪聲,再提取邊緣,所以效果較好。2 LOG 濾波器的缺點與解決方法由于 LOG 濾波器的模板寬度一般較大,所以 LOG 濾波縮要進行的計算 量也相應較大。
2、設圖像尺寸為NXM,模板寬度為KXK,則對整幅圖進行 卷積的乘法次數為(N-K+l) *(M-K+)*K*K,當N和MK時,所用的乘法 次數約為N*M*K*K。可見乘法次數和模板寬度的平方成正比。事實上, LOG 濾波器可以分解成一只高斯濾波器和另一只模板寬度更小 的 LOG 濾波器。另外,由于高斯濾波器是低通的而且可分解的的,所以。 可以把原圖尺寸縮小后再進行濾波,濾波結束后再進行插補,這樣可以大大 減少所要做的工作量。程序設計程序基于 MFC 的單文檔界面,增加一個位圖包裹類(設計模式的適配器模 式)來封裝對位圖的操作,增加一個濾波類來進行通用的濾波操作。程序結構如下:類定義如下:位圖包裹
3、類:class CWrapBitmappublic:long GetSize();/接口:得到位圖大小,成功返回陣列大小,失敗返回 falseint GetHeight();/接口:得到位圖高度,成功返回高度,失敗返回 falseint GetWidthBytes(); /接口:得到位圖比特寬度,成功返回寬度,失敗返回 false int GetWidth();/接口:得到位圖實際寬度,成功返回寬度,失敗返回 falseBYTE* GetpBuffer();/接口:得到位圖陣列指針,成功返回指針,失敗返回 NULLCBitmap* GetpBitmap();/接口: 得到 CBitmap 類指
4、針. 成功返回指針,失敗返回 NULLBOOL Save(LPCTSTR lpszPathName);接口:保存位圖文件.成功返回true,失敗返回falseBOOL Load(LPCTSTR lpszPathName);接口:打開位圖文件.成功返回true,失敗返回falseCWrapBitmap();virtual CWrapBitmap();private:BYTE* m_pBuffer;/位圖陣列指針CBitmap m_Bitmap;/位圖類HBITMAP m_hBitmap; /打開位圖指針protected:HANDLE DDBToDIB(CBitmap &bitmap, DWOR
5、D dwCompression, CPalette *pPal); /DDB2DIB;濾波器類:const int TEMPLATE_LOG =1;/LOG 濾波器const int TEMPLATE_LAPLACIAN=2; /拉普拉斯濾波器(銳化)const int TEMPLATE_GAUSS =3;/Gauss 濾波器(平滑)class CFilterpublic:long GetCount(); /接口:得到濾波所用的乘法次數BOOL Filter(const int nDefTemplate,BYTE *pBuffer, DWORD Size,DWORDWidth, DWORD H
6、eight);接口:對二維數組(陣列)濾波.成功返回true,失敗返回falseCFilter();virtual CFilter(); private:virtual CFilter(); private:long m_lCount;float m_fCoef;BYTE m_TemplateWidth;/記錄濾波所用的乘法次數/模板系數/模板寬度char* m_pTemplate;/模板指針protected:BYTE CutOverflow(float fNum); /截取超出范圍的數字void Multiply(BYTE* pBuffer,DWORD Size,DWORD Width,D
7、WORD Height); /模板和陣列的操作void SetTemplate(const int nDefTemplate); /設置模板的參數;實驗結果與分析實驗采取如下圖一的灰度圖片,圖片大小170X375,模板選為5X5,如下 所示: -2,-4,-4,-4,-2,-4, 0, 8, 0,-4,-4, 8,24, 8,-4,-4, 0, 8, 0,-4,-2,-4,-4,-4,-2經一次 LOG 濾波得結果圖二,所用得乘法次數為 1539650,經驗證可知 1539650=(1705 + 1)X(3755 + 1)X5X5,符合前面所推導公式。若先把原圖縮小到一半大小(85X188),
8、再經過高斯濾波,和LOG濾波, 再插補到原圖大小,得結果圖三。所用乘法次數為 517816,其中高斯濾波用乘 法次數 140616=(85 + 1 3 + 1)X(188 3 + 1)X3X3,LOG 濾波用乘法次 數 377200=(85 + 1 5 + 1)X(188-5+1)X5X5。顯然大大減少了乘法次數。圖一(原圖) 圖二(LOG濾波結果)圖三(濾波后插補結果)附關鍵源程序BOOL CFilter:Filter(const int nDefTemplate,BYTE *pBuffer,DWORD Size,DWORD Width, DWORD Height)SetTemplate(n
9、DefTemplate); if(!pBuffer)/Buf 為空return false;if(Width+16)*HeightSize) /非 8 位色彩的位圖 /MYTODO:轉化到8位AfxMessageBox(不支持非256色位圖); /return false; Multiply(pBuffer,Size,Width,Height); return true;void CFilter:SetTemplate(const int nDefTemplate) if(m_pTemplate)delete m_pTemplate;switch(nDefTemplate)case TEMPL
10、ATE_LOG: m_TemplateWidth=5;m_fCoef=1;BYTE btTemplateSize=m_TemplateWidth*m_TemplateWidth; m_pTemplate=new charbtTemplateSize; char btTemp25=-2,-4,-4,-4,-2,-4, 0, 8, 0,-4,-4, 8,24, 8,-4,-4, 0, 8, 0,-4, -2,-4,-4,-4,-2; :memcpy(m_pTemplate,&btTemp,btTemplateSize);break;case TEMPLATE_LAPLACIAN:m_Templat
11、eWidth=3;m_fCoef=1;BYTE btTemplateSize=m_TemplateWidth*m_TemplateWidth; m_pTemplate=new charbtTemplateSize;char btTemp9=-1,-1,-1,-1,9,-1,-1,-1,-1;:memcpy(m_pTemplate,&btTemp,btTemplateSize);break;case TEMPLATE_GAUSS:m_TemplateWidth=3;m_fCoef=l/16.0;不能 1/16,否則會變成 0BYTE btTemplateSize=m_TemplateWidth*
12、m_TemplateWidth; m_pTemplate=new charbtTemplateSize;char btTemp9=1,2,1,2,4,2,1,2,1;:memcpy(m_pTemplate,&btTemp,btTemplateSize);break;default:TRACE(沒有該默認的模板);void CFilter:Multiply(BYTE *pBuffer, DWORD Size, DWORD Width, DWORD Height)int nBorder=m_TemplateWidth/2; /需要空開的大小DWORD dwOffset=0;float fResult=0;int nTempNum=0;BYTE* pTempBuffer=new BYTESize;for(DWORD y=0+nBorder;yHeight-nBorder;y+) /因為窗口中心點要受模板 大小影響for(DWORD x=0+nBorder;xWidth-nBorder;x+)dwOffset=Size-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合作伙伴研究合同書
- 2025至2031年中國雙泡盒行業投資前景及策略咨詢研究報告
- 2025至2031年中國加氫反應器三通行業投資前景及策略咨詢研究報告
- 2025至2030年中國錦綸四叉五環吊裝紡織繩數據監測研究報告
- 2025至2030年中國鍍鋁濕紙巾袋數據監測研究報告
- 2025至2030年中國迷你蘋果雙卡電視手機數據監測研究報告
- 2025至2030年中國熱熔技術布料油漆滾動刷數據監測研究報告
- 2025版合同:附條件租賃協議書
- 高校商鋪裝修方案范本
- 會計考證介紹培訓
- 房地產市場報告 -2025年一季度廈門寫字樓和零售市場報告
- 2025年河南工業職業技術學院單招職業傾向性測試題庫1套
- 中國共產主義青年團團章
- 大貓英語分級閱讀 八級1 Unusual Traditions課件
- 提高初中數學課堂教學有效性--教學論文
- 固定資產及累計折舊審計程序表
- 保監〔2005〕22號標準
- 哈工大畢業論文微型車轉向機設計與應力分析
- 注射用鹽酸丙帕他莫簡介
- 哈工大陣列信號處理答案
- GB_T 17468-2019 電力變壓器選用導則(高清正版)
評論
0/150
提交評論