当前位置:文档之家› 图像处理实验报告

图像处理实验报告

2016 年春季学期研究生课程考核(读书报告、研究报告)考核科目:图像处理与分析学生所在院(系):理学院数学系学生所在学科:计算数学学生姓名:学号:导师:学生类别:考核结果阅卷人第 1 页 (共 27 页)1 实验目的过MATLAB 软件编程熟悉MATLAB 图像处理的一般过程,例如图像的导入,对源图像进行手动加各种噪声(高斯噪声、瑞丽噪声、伽马噪声、指数噪声、椒盐噪声),通过热传导方程,热传导逆方程,PM 模型,TV 模型,LAPLACE 模型,P_LAPLACE 模型,P(x)_LAPLACE 模型,在对图像进行处理的过程中引入Signal_Noise_Ratio (信噪比SNR )、Peak_Signal_Noise_Ratio (峰值信噪比PSNR )、Mean_Absolute_Error (绝对均差MAE )对处理后的图像质量进行评判。

2 实验原理2.1热传导方程模型Tikhonov 和Arsenin 提出如下模型:能量泛函22min ()||||2uE u u dx u f dx λΩΩ=∇+-⎰⎰其对应的Euler_Lagrange 方程0()|0dE u v d εεε=+= 由最速下降法求解可转化为如下的线性方程:(),(,)(0,)(,0),0,(,)(0,)duu u f x t T dt u x f x du x t T dnλ⎧=∆--∈Ω⨯⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎩ 注意:在用最速下降法推导方程的过程中左端项应该为:0(),(,)(0,)(,0),0,(,)(0,)u u f x t T u x f x du x t T dnλ⎧⎪=∆--∈Ω⨯⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎩ 其中n 为外法向向量。

然而,当时间t 足够长时,上述两种形式方程等价,即后者是前者的稳定状态时的方程。

2.2热传导逆方程模型(),(,)(0,)(,0),0,(,)(0,)duu u f x t T dt u x f x du x t T dnλ⎧=-∆--∈Ω⨯⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎩ 在时间足够长时,上述方程等价于:0(),(,)(0,)(,0),0,(,)(0,)u u f x t T u x f x du x t T dnλ⎧⎪=-∆--∈Ω⨯⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎩ 2.3 PM 模型((||))udiv C u u t∂=∇∇∂ 其中21C(s)1(/)s K =+该方程的局部坐标表达式为:2222||1()1||||(1())1()NN TT u u K U U u u t K K∇-∂=+∇∇∂++其中,U NN 为沿着等灰度水平线的法向N 的方向导数,U TT 为沿着等灰度水平线的切向T 的方向导数。

2.4 TV 模型Ridin ,Osher 和Fatemi 首次提出全变差(TV )模型2min ()||||2uE u u dx u f dx λΩΩ=∇+-⎰⎰其对应的Euler_Lagrange 方程:0()|0dE u v d εεε=+=有最速下降法求解可转化为如下的线性方程:2()(),(,)(0,)||(,0),0,(,)(0,)puu div u f x t T t u u x f x du x t T d nλ-∂∇⎧=--∈Ω⨯⎪∂∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩ 注意:在用最速下降法推到方程的过程中左端项应该为:20()(),(,)(0,)||(,0),0,(,)(0,)p u div u f x t T u u x f x du x t T d n λ-∇⎧=--∈Ω⨯⎪∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩其中n 为外法向向量。

2.5 P_Laplace 模型2min ()||||2p uE u u dx u f dx λΩΩ=∇+-⎰⎰其对应的Euler_Lagrange 方程:0()|0dE u v d εεε=+=有最速下降法求解可转化为如下的线性方程:2()(),(,)(0,)||(,0),0,(,)(0,)puu div u f x t T t u u x f x du x t T d nλ-∂∇⎧=--∈Ω⨯⎪∂∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩ 注意:在用最速下降法推到方程的过程中左端项应该为:20()(),(,)(0,)||(,0),0,(,)(0,)p u div u f x t T u u x f x du x t T d nλ-∇⎧=--∈Ω⨯⎪∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩ 其中n 为外法向向量。

然而,当时t 足够长时,上述两种形式方程等价,即后者是前者的稳定状态时的方程。

2.6 P(x)_Laplace 模型已知P_Laplace 模型2()(),(,)(0,)||(,0),0,(,)(0,)p uu div u f x t T t u u x f x du x t T d n λ-∂∇⎧=--∈Ω⨯⎪∂∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩观察在P_Laplace 模型中的缺陷是:在计算过程中,参数P 的值是人们事先取定的,没有根据图像的实际特定进行更新,自然就联想到当P 的值随着处理图像位置的不同而进行更新,根据PM 模型和TV 模型的处理图像的特点,对于P_Laplace 模型知道如下事实:① 当p 趋近于1时,该模型的效果近似于TV 模型的结果; ② 当p 趋近于2时,该模型的效果近似于PM 模型的结果。

所以修改P_Laplace 模型如下:2()()(),(,)(0,)||(,0),0,(,)(0,)p x uu div u f x t T t u u x f x du x t T d n λ-∂∇⎧=--∈Ω⨯⎪∂∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩其中n 为外法线方向2()0()(),(,)(0,)||(,0),0,(,)(0,)p x u div u f x t T u u x f x du x t T d n λ-∇⎧=--∈Ω⨯⎪∇⎪⎪=∈Ω⎨⎪⎪=∈∂Ω⨯⎪⎩2.7 信噪比、峰值信噪比、绝对均差原理1.峰值信噪比P eak_Signal_to_Noise_Ratio(PSNR)2.绝对均值Mean_Absolute_deviation_Error(MAE)3.信噪比Signal_to_Noise_Ratio(SNR)3 程序代码3.1 线性热方程clear all;close all; clc;Io=imread('lena.bmp'); %读入图像 if(ndims(Io)==3) %维数Io=rgb2gray(Io); %转成灰色 rgb 表示红绿蓝 endIo=double(Io);std_n=10; %高斯噪声标准差 var_n=std_n^2; %高斯噪声标准差 NI=randn(size(Io))*std_n;In=Io+NI; %在原图像上加噪声dt=0.25; %网比(一般对于n 维%dt<= (1/2)^n这样子差分方程%迭代才稳定)N=100; %迭代次数lambda=0; %lambda赋初值[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J]=HeatEq(In,Io,dt,N,lambda); %方程迭代(热方程迭代)[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);3.2 反热方程模型clear all;close all;clc;Io=imread('pepper.bmp'); %读入图像if(ndims(Io)==3) %维数Io=rgb2gray(Io); %转成灰色 rgb表示红绿蓝endIo=double(Io);% % % %%% Add noise %%% % % %std_n=10; %高斯噪声标准差var_n=std_n^2; %高斯噪声标准差NI=randn(size(Io))*std_n; %产生一个随机矩阵,矩阵上的数服从标准正太分布;%使得服从标准差为给定的数的正态分布In=Io+NI;%%%%%%%% 反方程图像处理 %%%%%%%%%dt=-0.0001; %dt必须特别的小N=10; %迭代次数(需要逐渐增加)lambda=0.00;tic[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J]=HeatEq(In,Io,dt,N,lambda);%方程迭代(热方程迭代)toc[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);热方程模型算法实现:function [Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=HeatEq(In,Io,dt,N,lambda)J = In;Max_J1 = J;Max_J2 = J;Min_J3 = J;for i=1:NiDxxI=J([2:end end],:)+J([1 1:end-1],:)-2*J; %函数关于X方向求二阶偏导DyyI=J(:,[2:end end])+J(:,[1 1:end-1])-2*J; %函数关于Y方向求二阶偏导J=J+dt*(DxxI+DyyI)-lambda*(J-In); %迭代NowPSNR = psnr(uint8(J),Io) %调用psnr函数ALLPSNR(i)=NowPSNR;if i>1 && ALLPSNR(i-1) < ALLPSNR(i)Max_J1 = J;endNowSNR = snr(uint8(J),Io)ALLSNR(i) = NowSNR;if i>1 && ALLSNR(i-1) < ALLSNR(i)Max_J2 = J;endNowMAE = mae(uint8(J),Io)ALLMAE(i) = NowMAE;if i>1 && ALLMAE(i-1) > ALLMAE(i)Min_J3 = J;endend3.3 PM模型clear allclose allclcIo=imread('panda.png');% 读入一幅图像if(ndims(Io) == 3)Io = rgb2gray(Io);end;% 选择一个颜色矩阵,并且变成双浮点型的,这一步没有可能报错.Io=double(Io);std_n=20; % Gaussian noise standard deviationvar_n=std_n^2; % Gaussian noise standard deviationNI = randn(size(Io))*std_n; % White Gaussian noiseIn = Io + NI; % noisy input imageN =20;dt=0.25;K=13; %比例系数tic[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J] = PM(Io,In,N,dt,K);toc[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);PM模型算法实现function [Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J] = PM(Io,In,N,dt,K)J = In;Max_J1 = J;Max_J2 = J;Min_J3 = J;for i=1:N;icn = J([1 1:end-1],:) - J;cs =J([2:end end],:) - J;cw = J(:, [1 1:end-1]) -J;ce =J(:, [2:end end]) - J;div = 1./(1+(abs(cn)/K).^2) .* cn...+ 1./(1+(abs(cs)/K).^2) .* cs...+ 1./(1+(abs(cw)/K).^2) .* cw...+ 1./(1+(abs(ce)/K).^2) .* ce;J= J+ dt * div;NowPSNR = psnr(uint8(J),Io) %调用psnr函数ALLPSNR(i)=NowPSNR;if i>1 && ALLPSNR(i-1) < ALLPSNR(i)Max_J1 = J;endNowSNR = snr(uint8(J),Io)ALLSNR(i) = NowSNR;if i>1 && ALLSNR(i-1) < ALLSNR(i)Max_J2 = J;endNowMAE = mae(uint8(J),Io)ALLMAE(i) = NowMAE;if i>1 && ALLMAE(i-1) > ALLMAE(i)Min_J3 = J;endend3.4 TV模型clear allclose allclcIo=imread('comic.jpg');% 读入一幅图像% 选择一个颜色矩阵,并且变成双浮点型的,这一步没有可能报错.if(ndims(Io) == 3)Io = rgb2gray(Io);end;Io=double(Io);% % % %%% Add noise %%% % % %std_n=20; % 高斯噪声比准差var_n=std_n^2; % 高斯噪声比准差NI = randn(size(Io))*std_n; % 白色高斯噪声In = Io + NI; % 把噪声加到原图上面N =100; %迭代图像dt=0.2; %网比(一般对于n维时,dt<=(1/2)^n这样子差分方程迭代才稳定)lambda=0.01; %给lambda赋初值tic[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAE J] =TV(In,Io,dt,N,lambda,var_n);%调用函数toc[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);TV模型算法实现function [Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=TV(In,Io,dt,N,lambda,var_n)J=In;Max_J1 = J;Max_J2 = J;Min_J3 = J;ep=0.0001;for i=1:NiDfJx=J([2:end end],:)-J; %函数关于X的一阶偏导(向后差分)DbJx=J-J([1 1:end-1],:); %函数关于X的一阶偏导(向前差分)DfJy=J(:,[2:end end])-J; %函数关于Y的一阶偏导(向后差分)DbJy=J-J(:,[1 1:end-1]); %函数关于Y的一阶偏导(向前差分)TempDJx=(ep+DfJx.*DfJx+((sign(DfJy)+sign(DbJy)).*min(abs(DfJy),abs(DbJy))./2).^ 2).^(1/2);%求梯度的模TempDJy=(ep+DfJy.*DfJy+((sign(DfJx)+sign(DbJx)).*min(abs(DfJx),abs(DbJx))./2).^ 2).^(1/2);DivJx=DfJx./TempDJx;DivJy=DfJy./TempDJy;% DivJx=DfJx./TempDJx^p;% DivJy=DfJy./TempDJy^p;%求散度Div=DivJx-DivJx([1 1:end-1],:)+DivJy-DivJy(:,[1 1:end-1]);% update lambda (fidelity term)lambda = max(mean(mean(Div.*(J-In)))./var_n,0)J= J+ dt * Div -dt*lambda*(J-In); %产生迭代NowPSNR = psnr(uint8(J),Io) %调用psnr函数ALLPSNR(i)=NowPSNR;if i>1 && ALLPSNR(i-1) < ALLPSNR(i)Max_J1 = J;endNowSNR = snr(uint8(J),Io)ALLSNR(i) = NowSNR;if i>1 && ALLSNR(i-1) < ALLSNR(i)Max_J2 = J;endNowMAE = mae(uint8(J),Io)ALLMAE(i) = NowMAE;if i>1 && ALLMAE(i-1) > ALLMAE(i)Min_J3 = J;endend3.5 P_Laplace模型clear allclose allclcIo=imread('fruit.jpg');% 读入一幅图像if(ndims(Io) == 3)Io = rgb2gray(Io);end;% 选择一个颜色矩阵,并且变成双浮点型的,这一步没有可能报错. Io=double(Io);% % % %%% Add noisestd_n=25; % Gaussian noise standard deviationvar_n=std_n^2; % Gaussian noise standard deviationNI = randn(size(Io))*std_n; % White Gaussian noiseIn = Io + NI; % noisy input imageN =50;dt=0.2;lambda=0.01;p_b=1.9;p_a=2.00; %% p_b<p<p_ap=p_a:(p_b-p_a)/(N-1):p_b;tic[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=P_laplace(In,Io,dt,N,p,lambda,var_n);toc[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);P_Laplace模型算法实现:function [Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=P_laplace(In,Io,dt,N,p,lambda,var_n)J=In;Max_J1 = J;Max_J2 = J;Min_J3 = J;ep=0.0001;for i=1:NiDfJx=J([2:end end],:)-J; %函数关于X的一阶偏导(向后差分)DbJx=J-J([1 1:end-1],:); %函数关于X的一阶偏导(向前差分)DfJy=J(:,[2:end end])-J; %函数关于Y的一阶偏导(向后差分)DbJy=J-J(:,[1 1:end-1]); %函数关于Y的一阶偏导(向前差分)TempDJx=(ep+DfJx.*DfJx+((sign(DfJy)+sign(DbJy)).*min(abs(DfJy),abs(DbJy))./2).^ 2).^(1/2);%求梯度的模TempDJy=(ep+DfJy.*DfJy+((sign(DfJx)+sign(DbJx)).*min(abs(DfJx),abs(DbJx))./2).^ 2).^(1/2);DivJx=DfJx./TempDJx.^(2-p(i));DivJy=DfJy./TempDJy.^(2-p(i));Div=DivJx-DivJx([1 1:end-1],:)+DivJy-DivJy(:,[1 1:end-1]); %求散度lambda = max(mean(mean(Div.*(J-In)))./var_n,0) % update lambda (fidelity term)J= J+ dt * Div -dt*lambda*(J-In); %产生迭代NowPSNR = psnr(uint8(J),Io) %调用psnr函数ALLPSNR(i)=NowPSNR;if i>1 && ALLPSNR(i-1) < ALLPSNR(i)Max_J1 = J;endNowSNR = snr(uint8(J),Io)ALLSNR(i) = NowSNR;if i>1 && ALLSNR(i-1) < ALLSNR(i)Max_J2 = J;endNowMAE = mae(uint8(J),Io)ALLMAE(i) = NowMAE;if i>1 && ALLMAE(i-1) > ALLMAE(i)Min_J3 = J;endend3.6 P(x)_Laplace模型clear allclose allclcIo=imread('bird.jpg');% 读入一幅图像% 选择一个颜色矩阵,并且变成双浮点型的,这一步没有可能报错.if(ndims(Io) == 3)Io = rgb2gray(Io);end;Io=double(Io);% % % %%% Add noise %%% % % %std_n=20;var_n=std_n^2; % 高斯噪声比准差NI = randn(size(Io))*std_n; % 白色高斯噪声In = Io + NI; % 把噪声加到原图上面N =20; %迭代图像dt=0.2; %网比(一般对于n维时,dt<= (1/2)^n这样子差分方程迭代才稳定)lambda=0.01; %给lambda赋初值sigma = 2;k = 0.22;tic[Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=Px_laplace(In,Io,dt,N,sigma,k,lambda,var_n); %调用函数toc[MaxPSNR, Index1]=max(ALLPSNR)[MaxSNR, Index2]=max(ALLSNR)[MinMAE, Index3]=min(ALLMAE)Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N);P(x)_Laplace模型算法实现:function [Max_J1 Max_J2 Min_J3 ALLPSNR ALLSNR ALLMAEJ]=Px_laplace(In,Io,dt,N,sigma,k,lambda,var_n)%得到图像大小[Ny,Nx]=size(Io);a=1;a1=1;b=1;b1=1;ep=0.00001;J = In;Max_J1 = J;Max_J2 = J;Min_J3 = J;for i=1:NiDfJx=J([2:end end],:)-J;DbJx=J-J([1 1:end-1],:);DfJy=J(:,[2:end end])-J;DbJy=J-J(:,[1 1:end-1]);Ng=ceil(6*sigma)+1;Gaussian = fspecial('gaussian',[Ng Ng],sigma);Is=conv2(J,Gaussian,'same');[IGx,IGy] = gradient(Is);NormGrad =IGx.^2 + IGy.^2;p=1;px=1- 1./ (1 + k* NormGrad.^p);TempDJx=(ep+DfJx.*DfJx+((sign(DfJy)+sign(DbJy)).*min(abs(DfJy),abs(DbJy))./2).^2).^(1/2);TempDJy=(ep+DfJy.*DfJy+((sign(DfJx)+sign(DbJx)).*min(abs(DfJx),abs(DbJx))./2).^2).^(1/2);DivJx=DfJx./TempDJx.^px;DivJy=DfJy./TempDJy.^px;Div=DivJx-DivJx([1 1:end-1],:)+DivJy-DivJy(:,[1 1:end-1]);lambda = max(mean(mean(Div.*(J-In)))./var_n,0) % update lambda (fidelity term) J= J+ dt * Div -dt*lambda*(J-In);NowPSNR = psnr(uint8(J),Io) %调用psnr函数ALLPSNR(i)=NowPSNR;if i>1 && ALLPSNR(i-1) < ALLPSNR(i)Max_J1 = J;endNowSNR = snr(uint8(J),Io)ALLSNR(i) = NowSNR;if i>1 && ALLSNR(i-1) < ALLSNR(i)Max_J2 = J;endNowMAE = mae(uint8(J),Io)ALLMAE(i) = NowMAE;if i>1 && ALLMAE(i-1) > ALLMAE(i)Min_J3 = J;endend附:(a)处理结果输出函数:function Print(Io,In,J,Max_J1,Max_J2,Min_J3,ALLPSNR,ALLSNR,ALLMAE,N)figure(1)subplot(2,2,1)imshow(Io,[]);title('原图像')subplot(2,2,2)imshow(In,[]);title('加噪声之后的图像')subplot(2,2,3)imshow(Io,[]);title('原图像')subplot(2,2,4)imshow(J,[]);title('处理结果')figure(2)subplot(2,2,1)imshow(Max_J1,[]);title('ALLPSNR值最大时图像')subplot(2,2,2)imshow(Max_J2,[]);title('ALLSNR值最大时图像')subplot(2,2,3)imshow(Min_J3,[]);title('ALLPMAE值最小时图像')subplot(2,2,4)imshow(J,[]);title('处理结果')x=1:N;figure(3)subplot(2,2,1)plot(x,ALLPSNR)title('ALLPSNR图像')subplot(2,2,2)plot(x,ALLSNR)title('ALLSNR图像')subplot(2,2,3)plot(x,ALLMAE)title('ALLPMAE图像')[Ny,Nx]=size(J);x=1:Nx;level=fix(Ny/2);y=J(level,:);y1=Io(level,:);y2=In(level,:);figure(4)subplot(2,1,1); plot(x,y,x,y1);title('SmoothImage And OriginalImage')subplot(2,1,2); plot(x,y,x,y1,x,y2);title('NoiseImage And OriginalImage')(b)图像处理评价指标代码(1)峰值信噪比实现代码如下:function s = snr(noisydata, original)%将noisydata,original转化为double型noisydata = double(noisydata);original = double(original);mean_original = mean(original(:));%求original的平均值tmp = original - mean_original;var_original = sum(sum(tmp.*tmp));%求original的方差noise = noisydata - original;%求noise的平均值mean_noise = mean(noise(:));tmp = noise - mean_noise;var_noise = sum(sum(tmp.*tmp));%求noise的的方差ifvar_noise == 0s = 999.99; %% INF. clean imageelses = 10 * log10(var_original / var_noise);%compute signal-to-noise-ratio (SNR) of a noisy signal/imageendreturn(2) 绝对均差实现代码如下:function E = mae(noisydata, original)%将noisydata,original转化为double型noisydata=double(noisydata);original=double(original);[m,n] = size(noisydata);noise = abs(noisydata - original);nostotal = sum(sum(noise));E=nostotal/(m*n);%compute root-mean-square-error (RMSE) of a noisy signal/imageReturn(3) 峰值信噪比实现代码如下:function s = psnr(noisydata, original)%将noisydata,original转化为double型noisydata=double(noisydata);original=double(original);[m,n] = size(noisydata);%获得noisydata矩阵的行数与列数peak=255*255*m*n;%计算峰值noise =noisydata - original;nostotal = sum(sum(noise.*noise));ifnostotal == 0s = 999.99; %% INF. clean imageelses = 10 * log10(peak./nostotal);%计算峰值性噪比endreturn4 实验结果4.1 线性热方程4.2 反热方程模型4.3 PM模型4.4 TV模型4.5 P_Laplace模型4.6 P(x)_Laplace模型5 总结分析对于线性热方程和反方程处理图像时,从处理结果可以知道,线性热方程模型处理的结果是使图像整个无差别的进行光滑,使得图像中的边界信息不能保持。

相关主题