• 大小: 1.65MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-26
  • 语言: Matlab
  • 标签:

资源简介

资源包含联合双边滤波算法的matlab版代码 资源包含联合双边滤波算法的matlab版代码

资源截图

代码片段和文件信息

function img_out = bfilter2(image1 image2 n sigma1 sigma2)
%bfilter2 function: perfrom two dimensional bilateral gaussian filtering.
%The standard deviations of the bilateral filter are given by sigma1 and
%sigma2 where the standard deviation of spatial-domain is given by sigma1
% and the standard deviation intensity-domain is given by sigma2.
%This function presents both bilateral filter and joint-bilateral filter.
%If you use the same image as image1 and image2 it is the normal bilateral
%filter; however if you use different images in image1 and image2 you can
%use it as joint-bilateral filter where the intensity-domain (range weight)
%calculations are performed using image2 and the spatial-domain (space weight)
%calculations are performed using image1.

%Usage:
%   %Example1: normal bilateral filter using 5x5 kernel spatial-sigma=6 and
%   %intensity-sigma= 0.25:
%   image=bfilter2(I1I151.20.25);
%   %Example2: joint-bilateral filter using 5x5 kernel spatial-sigma=1.2
%   %and range-sigma= 0.25 the spatial-domain calculations are performed
%   %using image (I1) and the intensity-domain calulcations (range weight)
%   %are performed using image (I2):
%   image=bfilter2(I1I251.20.25);
%   %Example3: use the default values for n sigma1 and sigma2
%   image=bfilter2(I1);

%Input:
%   -image1: the spatial-domain image
%   -image2: the intensity-domain (range weight) image (use the same image
%   for the normal bilateral filter. Use different images for joint-bilateral
%   filter.
%   (default use the same image; i.e. image2=image1)
%   -n: kernel (window) size [nxn] should be odd number (default=5)
%   -sigma1: the standard deviation of spatial-domain (default=1.2)
%   sigma2: the standard deviation of intensity-domain (default=0.25)

%Author: Mahmoud Afifi York University. 

%argument‘s check

%补充:输出图像为归一化后double类型图像
if nargin<1
    error(‘Too few input arguments‘);
elseif nargin<2
    image2=image1;
    n=5;
    sigma1=1.2;
    sigma2=0.25;
elseif nargin<3
    n=5;
    sigma1=1.2;
    sigma2=0.25;
elseif nargin<4
    sigma1=1.2;
    sigma2=0.25;
elseif nargin<5
    sigma2=0.25;
end

%kernel size check
if mod(n2)==0
    error(‘Please use odd number for kernel size‘);
end
%dimensionality check
if size(image11)~=size(image21) || size(image12)~=size(image22) || ...
        size(image13)~=size(image23)
    error(‘Both images should have the same dimensions and number of color channels‘);
end


display(‘processing...‘);

w=floor(n/2);

% spatial-domain weights.
[XY] = meshgrid(-w:w-w:w);
gs = exp(-(X.^2+Y.^2)/(2*sigma1^2));

%normalize images
if isa(image1‘uint8‘)==1
    image1=double(image1)/255;
end

if isa(image2‘uint8‘)==1
    image2=double(image2)/255;
end

%intialize img_out
img_out=zeros(size(image11)size(image12)size(image13));
%padd both iamges
image1=padarray(image1[w w]‘replicate‘‘both‘);
image2=padarray(imag

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1518  2017-04-06 22:18  license.txt

     文件       3826  2017-11-10 11:14  Joint Bilateral filter\bfilter2.m

     文件     300166  2017-04-07 09:43  Joint Bilateral filter\demo.jpg

     文件        487  2017-04-07 10:08  Joint Bilateral filter\Demo.m

     文件     636620  2017-04-07 09:15  Joint Bilateral filter\image1.jpg

     文件     647883  2017-04-07 10:08  Joint Bilateral filter\image2.jpg

     文件       1761  2017-04-07 10:12  Joint Bilateral filter\ReadMe.txt

     文件      81167  2017-04-07 10:10  Joint Bilateral filter\result1.jpg

     文件     101877  2017-04-07 10:13  Joint Bilateral filter\result2.jpg

     目录          0  2017-11-10 11:15  Joint Bilateral filter

----------- ---------  ---------- -----  ----

              1775305                    10


评论

共有 条评论