国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁(yè) > 化工知識(shí) > 【圖像去噪】基于改進(jìn)小波閾值實(shí)現(xiàn)圖像去噪matlab代碼

【圖像去噪】基于改進(jìn)小波閾值實(shí)現(xiàn)圖像去噪matlab代碼

時(shí)間:2021-11-25 來(lái)源: 瀏覽:

【圖像去噪】基于改進(jìn)小波閾值實(shí)現(xiàn)圖像去噪matlab代碼

原創(chuàng) 天天Matlab 天天Matlab
天天Matlab

TT_Matlab

每天分享一點(diǎn)Matlab資料,一起成長(zhǎng)進(jìn)步。需要定制程序添加qq1575304183

收錄于話題 #圖像處理matlab源碼 254個(gè) 內(nèi)容

1 簡(jiǎn)介

基于 Donoho經(jīng)典小波閾值去除圖像噪聲基本思路,分析常用硬閾值法和軟閾值法在圖像去噪中的缺陷。針對(duì)這些缺陷,提出一種改進(jìn)的閾值去噪法,該方法不僅可克服硬閾值不連續(xù)的缺點(diǎn),還能夠有效解決小波分解預(yù)估計(jì)系數(shù)與真實(shí)小波系數(shù)間存有的恒定誤差。通過(guò) Matlab仿真實(shí)驗(yàn),使用改進(jìn)的小波閾值法對(duì)圖像去噪處理后,除 噪效果比較理想,在去噪性能指標(biāo)上,PSNR(峰值信噪比)和 EPI(邊緣保護(hù)指數(shù))均好于傳統(tǒng)閾值方法。

采集、編碼或者傳輸圖像時(shí),圖像容易遭受噪聲污染,因此圖像去噪尤為重要。隨著對(duì)小波理論研究的深入,其應(yīng)用也日趨廣泛,利用小波變換進(jìn)行圖像去噪成為研究熱點(diǎn)。目前,小波圖像去噪 基 本 方 法 有:①利用小波變換模極大值方法進(jìn)行圖像去噪;②利用小波變換尺度相關(guān)性方法進(jìn)行圖像去 噪;③利用小波閾值去噪法進(jìn)行圖像去噪。上述3種基 本 方 法 中,小波閾值去噪法相對(duì)于小波模極大值法與小波變換尺度相關(guān)性法,其 運(yùn) 算 量 小,實(shí)現(xiàn)簡(jiǎn)單且使用廣泛。小波閾值去噪法也有其不足:在小波硬閾值去噪處理過(guò)程中,獲取的小波系 數(shù) 預(yù) 估 計(jì) 連 續(xù) 性 差,會(huì) 造 成 重 構(gòu) 信號(hào)波動(dòng),而軟閾值法算出的估計(jì)小波系數(shù)雖然連續(xù)性較好,但其與真實(shí)小波系數(shù)有恒定偏差,造成重構(gòu)信號(hào)精度變低,導(dǎo)致圖像模糊。本文結(jié)合經(jīng)典硬閾值和軟閾值法各自的優(yōu)缺點(diǎn),提出一種改進(jìn)的小波閾值圖像去噪算法。

2 部分代碼

% 對(duì)彩色圖像進(jìn)行去噪 clc clear all close all I = imread ( ’lena_color.png’ , ’png’ );         % 讀入圖像 X = im2double ( I );                           % 轉(zhuǎn)換成雙精度類型 x_noise = noise ( X , ’gaussian’ , 0.01 );       % 加入高斯噪聲 % 提取三個(gè)通道信息 xr = x_noise (:, :, 1 );                       % R通道 xg = x_noise (:, :, 2 );                       % G通道 xb = x_noise (:, :, 3 );                       % B通道 % 估計(jì)三個(gè)通道的閾值 [ Cr , Sr ] = wavedec2 ( xr , 2 , ’sym4’ ); [ Cg , Sg ] = wavedec2 ( xg , 2 , ’sym4’ ); [ Cb , Sb ] = wavedec2 ( xb , 2 , ’sym4’ ); thr_r = Donoho ( xr );                         % R通道全局閾值 thr_g = Donoho ( xg );                         % G通道全局閾值 thr_b = Donoho ( xb );                         % B通道全局閾值 thr_lvd_r = Birge_Massart ( Cr , Sr );         % R通道局部閾值 thr_lvd_g = Birge_Massart ( Cg , Sg );         % G通道局部閾值 thr_lvd_b = Birge_Massart ( Cb , Sb );         % B通道局部閾值 % 對(duì)三個(gè)通道分別進(jìn)行去噪=================================================== %   Donoho全局閾值 軟閾值公式---------------------------------------------- x_soft_r = wdenoise ( xr , ’gbl’ , ’s’ , thr_r , ’sym4’ , 2 ); x_soft_g = wdenoise ( xg , ’gbl’ , ’s’ , thr_g , ’sym4’ , 2 ); x_soft_b = wdenoise ( xb , ’gbl’ , ’s’ , thr_b , ’sym4’ , 2 ); %   ----------------------------------------------------------------------- %   Donoho全局閾值 硬閾值公式---------------------------------------------- x_hard_r = wdenoise ( xr , ’gbl’ , ’h’ , thr_r , ’sym4’ , 2 ); x_hard_g = wdenoise ( xg , ’gbl’ , ’h’ , thr_g , ’sym4’ , 2 ); x_hard_b = wdenoise ( xb , ’gbl’ , ’h’ , thr_b , ’sym4’ , 2 ); %   ----------------------------------------------------------------------- %   Bige-Massa策略 軟閾值公式---------------------------------------------- x_soft_lvd_r = wdenoise ( xr , ’lvd’ , ’s’ , thr_lvd_r , ’sym4’ , 2 ); x_soft_lvd_g = wdenoise ( xg , ’lvd’ , ’s’ , thr_lvd_g , ’sym4’ , 2 ); x_soft_lvd_b = wdenoise ( xb , ’lvd’ , ’s’ , thr_lvd_b , ’sym4’ , 2 ); %   ----------------------------------------------------------------------- %   Bige-Massa策略 硬閾值公式---------------------------------------------- x_hard_lvd_r = wdenoise ( xr , ’lvd’ , ’h’ , thr_lvd_r , ’sym4’ , 2 ); x_hard_lvd_g = wdenoise ( xg , ’lvd’ , ’h’ , thr_lvd_g , ’sym4’ , 2 ); x_hard_lvd_b = wdenoise ( xb , ’lvd’ , ’h’ , thr_lvd_b , ’sym4’ , 2 ); %   ----------------------------------------------------------------------- %   半軟閾值--------------------------------------------------------------- x1_r = den1 ( xr , ’sym4’ , 2 , thr_r ); x1_g = den1 ( xg , ’sym4’ , 2 , thr_g ); x1_b = den1 ( xb , ’sym4’ , 2 , thr_b ); %   ----------------------------------------------------------------------- %   半軟閾值 + 均值濾波---------------------------------------------------- x1_5_r = den1_5_1 ( xr , ’sym4’ , 2 , thr_r , 0.5 * thr_r ); x1_5_g = den1_5_1 ( xg , ’sym4’ , 2 , thr_g , 0.5 * thr_g ); x1_5_b = den1_5_1 ( xb , ’sym4’ , 2 , thr_b , 0.5 * thr_b ); %   ----------------------------------------------------------------------- %   自適應(yīng)閾值------------------------------------------------------------- x4_r = den4 ( xr , ’sym4’ , 2 ); x4_g = den4 ( xg , ’sym4’ , 2 ); x4_b = den4 ( xb , ’sym4’ , 2 ); %   ----------------------------------------------------------------------- % ========================================================================= % 恢復(fù)去噪后的圖像========================================================= x_soft = cat ( 3 , x_soft_r , x_soft_g , x_soft_b );                           % Donoho 軟閾值 x_hard = cat ( 3 , x_hard_r , x_hard_g , x_hard_b );                           % Donoho 硬閾值 x_soft_lvd = cat ( 3 , x_soft_lvd_r , x_soft_lvd_g , x_soft_lvd_b );           %Birge-Massart 軟閾值 x_hard_lvd = cat ( 3 , x_hard_lvd_r , x_hard_lvd_g , x_hard_lvd_b );           % Birge-Massart 硬閾值 x1 = cat ( 3 , x1_r , x1_g , x1_b );                                           % 半軟閾值 x1_5 = cat ( 3 , x1_5_r , x1_5_g , x1_5_b );                                   % 半軟閾值 + 均值濾波 x4 = cat ( 3 , x4_r , x4_g , x4_b );                                           % 自適應(yīng)閾值 % ========================================================================= psnr_soft = PSNR_color ( x_soft , X ); psnr_hard = PSNR_color ( x_hard , X ); psnr_soft_lvd = PSNR_color ( x_soft_lvd , X ); psnr_hard_lvd = PSNR_color ( x_hard_lvd , X ); psnr1 = PSNR_color ( x1 , X ); psnr1_5 = PSNR_color ( x1_5 , X ); psnr4 = PSNR_color ( x4 , X ); figure ; subplot ( 341 ); imshow ( X );           title ( ’原圖像’ ); subplot ( 342 ); imshow ( x_noise );     title ( ’帶噪聲圖像’ ); subplot ( 343 ); imshow ( x_soft );     title ([ ’Donoho 軟閾值,信噪比=’ , num2str ( psnr_soft )]); subplot ( 344 ); imshow ( x_hard );     title ([ ’Donoho 硬閾值,信噪比=’ , num2str ( psnr_hard )]); subplot ( 345 ); imshow ( x_soft_lvd ); title ([ ’Birge-Massart 軟閾值,信噪比=’ , num2str ( psnr_soft_lvd )]); subplot ( 346 ); imshow ( x_hard_lvd ); title ([ ’Birge-Massart 硬閾值,信噪比=’ , num2str ( psnr_hard_lvd )]); subplot ( 347 ); imshow ( x1 );         title ([ ’半軟閾值,信噪比=’ , num2str ( psnr1 )]) ; subplot ( 348 ); imshow ( x1_5 );       title ([ ’半軟閾值+均值濾波,信噪比=’ , num2str ( psnr1_5 )]); subplot ( 349 ); imshow ( x4 );         title ([ ’自適應(yīng)閾值,信噪比=’ , num2str ( psnr4 )]); % 中值濾波 均值濾波======================================================== f = ones ( 3 ); % filter2函數(shù)用于圖像均值濾波 x_mean_r = meanfilter ( xr , f ); x_mean_g = meanfilter ( xg , f ); x_mean_b = meanfilter ( xb , f ); x_mean = cat ( 3 , x_mean_r , x_mean_g , x_mean_b ); % medfilt2函數(shù)用于圖像中值濾波 x_med_r = medfilter ( xr , f ); x_med_g = medfilter ( xg , f ); x_med_b = medfilter ( xb , f ); x_med = cat ( 3 , x_med_r , x_med_g , x_med_b ); psnr_mean = PSNR_color ( x_mean , X ); psnr_med = PSNR_color ( x_med , X ); subplot ( 3 , 4 , 10 ); imshow ( x_mean ); title ([ ’均值濾波,信噪比=’ , num2str ( psnr_mean )]); subplot ( 3 , 4 , 11 ); imshow ( x_med );   title ([ ’中值濾波,信噪比=’ , num2str ( psnr_med )]); % =========================================================================

3 仿真結(jié)果

4 參考文獻(xiàn)

[1]林東升. 基于Matlab的小波閾值圖像去噪方法研究[J]. 電腦知識(shí)與技術(shù), 2013(4X):3.

天天Matlab

贊賞二維碼 微信掃一掃贊賞作者 贊賞

已喜歡, 對(duì)作者說(shuō)句悄悄話
最多40字,當(dāng)前共

  人贊賞

1 / 3

長(zhǎng)按二維碼向我轉(zhuǎn)賬

贊賞二維碼

受蘋(píng)果公司新規(guī)定影響,微信 iOS 版的贊賞功能被關(guān)閉,可通過(guò)二維碼轉(zhuǎn)賬支持公眾號(hào)。

版權(quán):如無(wú)特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。
相關(guān)推薦