📄 compdiff1.m
字号:
%Program : Linear Complex Diffusion
%Author : Jeny Rajan
%The following program will produce scale space image based on the concept of
%linear complex diffusion.
%Application area : Image Denoising.
%Ref : Guy Gilboa, Nir Sochen and Yehoshua Y Zeevi, "Image Enhancement and Denoising by Complex Diffusion Processes",
%IEEE Trans. On Pattern Analysis and Machine Imtelligence, Vol. 26, No. 8, Aug. 2004
% method : Ir=Cr*Ir''-Ci*Ii''
% Ii=Ci*Ir''+Cr*Ii''
% Ir - Real part of the image
% Ii - Imaginary part of the image
% '' - gradient(gradient()
% Cr - cos(theta);
% Ci- sin(theta)
% Usage
% compdiff1(I,T)
% I - Input image, in case of denoising, noisy image
% T - Threshold, an integer >= 1
function [cdif]=compdiff1(I,T)
[x y z]=size(I);
I=double(I);
dt=0.1;
Ir=I;
It=zeros(x,y);
t=1;
for i=1:T
[Irx,Iry]=gradient(Ir);
[Iix,Iiy]=gradient(It);
cr=cos(30*(3.14/180));
ci=sin(30*(3.14/180));
[divr1,divr2]=gradient(Irx);
[divr3,divr4]=gradient(Iry);
[divi1,divi2]=gradient(Iix);
[divi3,divi4]=gradient(Iiy);
divr=divr1+divr4;
divi=divi1+divi4;
Ir1=(cr.*divr)-(ci.*divi);
It1=(ci.*divr)+(cr.*divi);
Ir=Ir+(dt.*Ir1);
It=It+(dt.*It1);
end;
figure,imshow(uint8(Ir),[]);
figure,imshow(uint8(It),[]);
cdif=uint8(Ir);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -