最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【圖像去噪】基于全變分算法(TV)圖像去噪matlab源碼

2021-08-29 00:09 作者:Matlab工程師  | 我要投稿

用途:圖像降噪(圖像修復(fù),復(fù)原中),TVloss是一種較為有效的正則項(xiàng),來(lái)保持圖像的光滑性

TVloss的去噪效果還算不錯(cuò),但是會(huì)導(dǎo)致圖像變得過(guò)平滑,感覺(jué)這樣的話,可能加上TVLoss就會(huì)好點(diǎn)了。

全變分模型主要是依靠梯度下降流歲圖像進(jìn)行平滑處理的模型,希望在圖像的內(nèi)部對(duì)圖像進(jìn)行平滑,使得相鄰像素的差值較小,,圖像的輪廓(邊緣)盡可能不去平滑.數(shù)學(xué)定義如下:

但是這個(gè)函數(shù)是不可微的,是非凸的,所以對(duì)于二維全變分有另外一種定義:

這個(gè)就是凸函數(shù)了. ..所以全變分求出來(lái)是一個(gè)數(shù)值.

如果仿照一維信號(hào)的去噪的話,則基于全變分的圖像去噪可以看成是求解優(yōu)化的問(wèn)題:

function image=bldconv(g) a1=0.1; a2=0.01; PQ=paddedsize(size(g)); G=fft2(g,PQ(1),PQ(2)); [y x]=size(G); htemp=ones(3); h0=freqz2(htemp,PQ(1),PQ(2)); R=Rcreat(y,x); H=h0; for k=1:10 %計(jì)算IMG和psf iMG=(conj(H).*G)./((conj(H).*H)+a1*R); H=conj(iMG).*G./((conj(iMG).*iMG)+a2*R); end IMG=mat2gray(real(ifft2(iMG))); image=IMG(1:size(g,1),1:size(g,2)); imwrite(image,'testfile.tif'); imshow(image,[]); hold on; end %=========================== %計(jì)算R矩陣的函數(shù)Rcreat %=========================== function R=Rcreat(y,x) %R矩陣生成子函數(shù) %by Realasking %為bdeconv.m編制 i=1:y; j=1:x; RI=zeros(y,x); RJ=zeros(y,x); R=zeros(y,x); for k=1:y %向量化代碼生成R的矩陣 RI(k,i)=-2*cos(2*pi*i./y); end for k=1:x RJ(j,k)=-2*cos(2*pi*j'./x); end Img=imread('Baboon1.bmp'); %讀取圖片 PSF=fspecial('motion',3); %創(chuàng)建PSF gb=imfilter(Img,PSF,'circular'); %創(chuàng)建退化圖像 Img=imnoise(gb,'gaussian',0,0.01); %加噪聲 figure,imshow(Img) Img=double(Img); Img0=Img; PQ=paddedsize(size(Img)); IMG=fft2(Img,PQ(1),PQ(2)); IMG0=fft2(Img0,PQ(1),PQ(2)); [nrow,ncol]=size(Img); ?% 獲取圖像尺寸大小 lamda1=0.02; lamda2=0.02; dt=0.28; ? % 0.25-0.35為最佳 G=gauss(Img,7,3); Ix = 0.5*(G(:,[2:ncol,ncol])-G(:,[1,1:ncol-1])); % x方向梯度 Iy = 0.5*(G([2:nrow,nrow],:)-G([1,1:nrow-1],:)); % y方向梯度 gradG = Ix.^2+Iy.^2; ?% 梯度大小 P=1+1./(1+gradG); ?%自適應(yīng)濾波器 deltax=Img0; %zeros(nrow,ncol); ?%產(chǎn)生與圖像大小相同的矩陣 deltay=Img0; %zeros(nrow,ncol); htemp=ones(3); h0=freqz2(htemp,PQ(1),PQ(2)); R=Rcreat(PQ(1),PQ(2)); H=h0; for M=1:10 % 設(shè)置迭代次數(shù) for i=2:(nrow-1) for j=2:(ncol-1) deltax(i,j)=(Img(i+1,j)-Img(i,j))./(((Img(i+1,j)-Img(i,j)).^2+(Img(i,j+1)-Img(i,j-1)).^2/4+1).^(1-0.5.*P(i,j)))-(Img(i,j)-Img(i-1,j))./(((Img(i,j)-Img(i-1,j)).^2+(Img(i-1,j+1)-Img(i-1,j-1)).^2/4+1).^(1-0.5.*P(i-1,j))); deltay(i,j)=(Img(i,j+1)-Img(i,j))./(((Img(i+1,j)-Img(i-1,j)).^2/4+(Img(i,j+1)-Img(i,j)).^2+1).^(1-0.5.*P(i,j)))-(Img(i,j)-Img(i,j-1))./(((Img(i+1,j-1)-Img(i-1,j-1)).^2/4+(Img(i,j)-Img(i,j-1)).^2+1).^(1-0.5.*P(i,j-1))); end end div=deltax+deltay; DIV=fft2(div,PQ(1),PQ(2)); IMG=IMG+dt*(-conj(H).*H.*IMG+conj(H).*IMG0+lamda1.*DIV); H=conj(IMG).*IMG0./(conj(IMG).*IMG+lamda2.*R); Img1=real(ifft2(IMG)); Img=Img1(1:size(Img0,1),1:size(Img0,2)); end

三、運(yùn)行結(jié)果

在這里插入圖片描述

?


【圖像去噪】基于全變分算法(TV)圖像去噪matlab源碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
八宿县| 扎兰屯市| 西乡县| 哈巴河县| 宣化县| 双牌县| 沙坪坝区| 横峰县| 卢氏县| 惠东县| 饶平县| 蒙山县| 宁津县| 富锦市| 和林格尔县| 尚志市| 房产| 张家川| 石城县| 东台市| 盐边县| 西昌市| 平利县| 白水县| 皮山县| 华坪县| 嘉鱼县| 定兴县| 江城| 衡阳市| 抚宁县| 和静县| 长汀县| 泽库县| 霍邱县| 昌吉市| 建湖县| 吉林市| 东乡| 沙湾县| 沁阳市|