MATLAB小波軟硬閾值去噪代碼,matlab編程小波變換進行圖像去噪處理,包括各種軟硬閾值的選取函數...

內容:

matlab編程小波變換進行圖像去噪處理,包括各種軟硬閾值的選取函數,%小波閾值去噪

clear all

clc;

f=imread('graylena.bmp');

f=double(f);

s=size(f);

r=imnoise2('gaussian',s(1),s(2),0,20);%填加高斯白噪聲

fnoisy=f+r;

%對圖像進行三層小波分解

[c,s]=wavedec2(fnoisy,3,'db8');

%cA3=appcoef2(c,s,'db8',3);

[cH3,cV3,cD3]=detcoef2('all',c,s,3);c3=[cH3,cV3,cD3];

[cH2,cV2,cD2]=detcoef2('all',c,s,2);c2=[cH2,cV2,cD2];

[cH1,cV1,cD1]=detcoef2('all',c,s,1);c1=[cH1,cV1,cD1];

%固定閾值(VisuShrink閾值):thr=delta*sqrt(2*log(n));

delta=median(abs(cD1(:)))/0.6745;

thr1c=delta*thselect(c,'minimaxi');

%thr1c=delta*3.5;

%thr1c3=delta*thselect(c3,'sqtwolog');

%thr1c2=delta*thselect(c2,'sqtwolog');

%thr1c1=delta*thselect(c1,'sqtwolog');

n=[1 2 3];p=[thr1c thr1c thr1c];

dnc0=wthcoef2('h',c,s,n,p,'s');

dnc0=wthcoef2('v',dnc0,s,n,p,'s');

dnc0=wthcoef2('d',dnc0,s,n,p,'s');

dnf0=waverec2(dnc0,s,'db8');

%基于Stein的無偏似然估計原理的自適應閾值(SUREShrink閾值):

%thr1cA3=thselect(cA3,'rigrsure');

%thr1=surethr(c,delta);

%最優預測變量閾值:

%極大極小閾值:thr=0.3936+0.1829*(log(n)/log(2));

%figure,subplot(221),imshow(dnf0,[]), ('VisuShrink閾值')

origif=cacupsnr(fnoisy,f)

%VSf0=cacupsnr(dnf0,f)

figure,subplot(121),imshow(f,[]), ('原始圖像')

subplot(122),imshow(fnoisy,[]), ('加噪圖像')

dnc1=wthresfunc(c,s,'hard',thr1c);

dnf1=waverec2(dnc1,s,'db8');

figure,subplot(221),imshow(dnf1,[]), ('硬閾值函數')

VSf1=cacupsnr(dnf1,f)

dnc2=wthresfunc(c,s,'soft',thr1c);

dnf2=waverec2(dnc2,s,'db8');

subplot(222),imshow(dnf2,[]), ('軟閾值函數')

VSf2=cacupsnr(dnf2,f)

dnc3=wthresfunc(c,s,'semisoft',thr1c);

dnf3=waverec2(dnc3,s,'db8');

subplot(224),imshow(dnf3,[]), ('折中閾值函數')

VSf3=cacupsnr(dnf3,f)

dnc4=wthresfunc(c,s,'halfsoft',thr1c);

dnf4=waverec2(dnc4,s,'db8');

subplot(223),imshow(dnf4,[]), ('半軟閾值函數')

VSf4=cacupsnr(dnf4,f)

dnc1=wthresfunc(c,s,'upsoft',thr1c);

dnf1=waverec2(dnc1,s,'db8');

figure,subplot(221),imshow(dnf1,[]), ('改進軟閾值函數')

VSf1=cacupsnr(dnf1,f)

dnc2=wthresfunc(c,s,'hfsmsoft',thr1c);

dnf2=waverec2(dnc2,s,'db8');

subplot(222),imshow(dnf2,[]), ('新閾值函數')

VSf2=cacupsnr(dnf2,f)

dnc3=wthresfunc(c,s,'newthr1',thr1c);

dnf3=waverec2(dnc3,s,'db8');

subplot(223),imshow(dnf3,[]), ('改進閾值函數一')

VSf3=cacupsnr(dnf3,f)

dnc4=wthresfunc(c,s,'newthr2',thr1c);

dnf4=waverec2(dnc4,s,'db8');

subplot(224),imshow(dnf4,[]), ('改進閾值函數二')

VSf4=cacupsnr(dnf4,f)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java生成二維碼讀取二維碼,面試真題解析

拼多多一面 首先自我介紹 參加過哪些項目 并發編程三要素? 實現可見性的方法有哪些? 多線程的價值? 創建線程的三種方式的對比? 畫出線程的狀態流轉圖 常用的并發工具類有哪些? CyclicBarrier 和 CountDownLatch 的區…

iis 7.5 php 防止跨站,iis安全---防范XSS跨站式腳本攻擊

iis安全---防范XSS跨站式腳本攻擊網站要怎么防范常見的XSS跨站式腳本攻擊呢,我們先從XSS跨站式腳本攻擊的原理來說起。網站遭受XSS跨站式腳本攻擊的基本原理1.本地利用漏洞,這種漏洞存在于頁面中客戶端腳本自身。其攻擊過程如下所示:A給B發送…

Java春招實習面試經驗匯總,面試篇

Part1 SpringIOC 學習Spring最重要的無非是Spring IOC以及Spring AOP,首先咱們把Spring IOC吃透,以下內容將截圖展示。 Spring IOC主要學習內容分為以下7點: ①Spring框架 ②Spring lOC容器Bean對象實例化模擬實現 ③Spring IOC容器Bean對象…

Java最新大廠面試真題總結,瞬間高大上了!

什么是分布式鎖?在回答這個問題之前,我們先回答一下什么是鎖。 普通的鎖,即在單機多線程環境下,當多個線程需要訪問同一個變量或代碼片段時,被訪問的變量或代碼片段叫做臨界區域,我們需要控制線程一個一個…

php列表框怎么用,PHP+Mysql+jQuery查詢和列表框選擇操作實例講解

這篇文章主要介紹了PHPMysqljQuery查詢和列表框選擇操作實現過程,需要的朋友可以參考下本文講解如何通過ajax查詢mysql數據,并將返回的數據顯示在待選列表中,再通過選擇最終將選項加入到已選區,可以用在許多后臺管理系統中。本文列…

Java未來路在何方?圖文詳解!

Spring Security觀后感——手繪思維腦(供參考) Spring Security手繪思維腦圖 手繪的思維導圖,是我自己根據自身的情況讀完這套阿里出品的Spring Security王者晉級文檔之后所繪的,相當于是一個知識的總結與梳理,我將其分為***“核心組件”與“…

matlab怎讓3d旋轉,如何在MATLAB中平滑旋轉3D繪圖?

我會說這是你正在繪制的大量積分導致經濟放緩.一個選項是縮減采樣..也可以使用較低級別的功能進行繪制(檢查this related post以獲得plot3 / scatter3 / line性能的比較).考慮以下針對速度優化的動畫:[X Y Z] sphere(64);X X(:); Y Y(:); Z Z(:);%# set-up figu…

Java未來路在何方?挑戰大廠重燃激情!

字節跳動一面: 自我介紹,主要講講做了什么和擅長什么看你項目做Spring比較多, 問一下Spring相關的東西, IoC是什么概念?Bean的默認作用范圍是什么?其他的作用范圍?索引是什么概念有什么作用? MySQL里主要有哪些索弓|結構?哈希索弓和B樹索引比較?平常用線程主…

php如何修改文件名,php修改文件名的實現方法_后端開發

c是什么意思_后端開發C是C語言的繼承,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基于對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。php修改文件名的實現方法在php中可以使用rename函數修改文…

Java架構師必備框架技能核心筆記,工作感悟

01 kafka入門 1.1 什么是kafka 1.2 kafka中的基本概念 1.2.1 消息和批次 1.2.2 主題和分區 1.2.3 生產者和消費者、偏移量、消費者群組 1.2.4 Broker和集群 1.2.5 保留消息 02 為什么選擇kafka 2.1 優點 2.2 常見場景 2.2.1 活動跟蹤 2.2.2 傳遞消息 2.2.3 收集指標和日志 2.2.…

java將某個數按比例分配應用題,按比例分配應用題

按比例分配(一)1、甲乙兩數的和是72,甲乙兩數的比是4:5,甲、乙兩數各是多少?。2、一個等腰三角形,頂角和一個底角的比是1:4,這個三角形兩個底角各是多少。3、六(1)班有女生24人,女生和男生人數的比是4:5&am…

Java架構師必備框架技能核心筆記,附相關架構及資料

技術焦慮 現在的技術圈子很火熱,任何技術點,任何知識,只要你肯搜索,都能找到資料。但是現在技術圈確實有一個不好的地方,就是販賣焦慮。這種販賣焦慮的點并不在于形式,而是一種普遍的心態。特別是對于那種…

php智能裁剪黑邊,圖片裁剪去除黑邊

前言從瀏覽器保存的圖片有透明度,但是python打開其透明通道是黑色的,因此我利用python的OpenCV模塊去除了其上下左右的黑邊。效果展示計算機中效果python打開效果python裁剪后效果代碼import cv2def change_size(read_file):image cv2.imread(read_file…

Java架構師教你如何突破瓶頸,持續更新中

1、上下文切換 上下文定義 cpu發生進程或者線程切換時,所依賴的數據集合,比如一個函數有外部變量,函數運行時,必須獲取外部變量,這些變量值的集合就是上下文。 引發問題 對于CPU密集型任務,多線程處理會…

matlab dwt 多層分解,利用matlab對圖片進行多層小波分解 會的加QQ511607771 加過作圖之后積分加倍送...

利用matlab對圖片進行多層小波分解 會的加QQ511607771 加過作圖之后積分加倍送mip版 關注:96 答案:2 懸賞:0解決時間 2021-01-23 13:02已解決2021-01-23 04:23(Haar小波、Daubechies小波、Coiflets小波和Symlets小波) 三層分解下的去噪圖可以直接發信息15836900853 立馬上線…

Java校招面試經驗匯總,最終入職阿里

一面 自我介紹項目中的監控:那個監控指標常見的有哪些?微服務涉及到的技術以及需要注意的問題有哪些?注冊中心你了解了哪些?consul 的可靠性你了解嗎?consul 的機制你有沒有具體深入過?有沒有和其他的注冊…

matlab確定位置,Hurlin 的PSTR模型包,怎樣確定位置參數個數

http://www.runmycode.org/companion/view/2564我用的是這個包1.怎樣確定位置參數個數?2. 門限變量也是解釋變量時,結果中(結果如下)的warning 是什么意思?3. 這個包中是否能夠把門限變量也作為解釋變量?我跑出的結果是這樣的&…

Java校招面試經驗匯總,看完直接跪服

美團技術一面20分鐘 晚7點,因為想到下周一才面試,我剛準備出去打個羽毛球,北京的電話就來了。面試官各種抱歉,說開會拖延了。 1、自我介紹 說了很多遍了,很流暢撿重點介紹完。 2、問我數據結構算法好不好 挺好的&…

nginx alias php 404,Nginx配置靜態服務器以及404問題解決,root和alias的區別

最近在使用Nginx配置一個圖片靜態服務器來通過http請求訪問圖片,在配置的時候,發現遇到訪問有404的問題,結果發現是在配置路徑的時候,和路徑屬性是root還是alias的有關。nginx配置文件server {listen 88;server_name localhost;#c…

Java框架體系架構的知識,輕松拿下offer

算法 ?道常?的字符串算法題總結最?公共前綴回?串兩數相加翻轉鏈表鏈表中倒數第k個節點刪除鏈表的倒數第N個節點合并兩個排序的鏈表劍指offer部分編程題跳臺階問題變態跳臺階問題?維數組查找替換空格題?描述:數值的整數次?調整數組順序使奇數位于偶數前?鏈表…