首页 > 代码库 > 图像处理复习整理(4.图像去噪)
图像处理复习整理(4.图像去噪)
检测图像噪音程度:
计算平方误差:
function d = mse(est,ref)
d =mean( (est(:)-ref(:)).^2 ) ;
计算信号噪声比:
function d = snr(est,ref) mse = mean((ref(:)-est(:)).^2); dv = var(ref(:),1); snr = 10*log10(dv/mse);
峰度信号噪声比:
function p = psnr(est,ref) mse= mean((est(:)-ref(:)).^2 ); m1 = max(abs(est(:)) ); m2 = max(abs(ref(:)) ); m = max(m1,m2); p = 10*log10(m^2/mse );
对方法进行检测的时候,噪音产生的方法主要有:
增加随机噪声或者增加多种随机噪声。
去噪的病态问题:
- 有多个解
- 无解
- 随着初始值变化的解
去噪:正则化,简单化
电脉冲去噪
中值滤波
白高斯去噪
高斯滤波、双边滤波、nonlocal mean 滤波
中值滤波无法解决白高斯滤波
高斯滤波:
高斯概率分布
由于高斯滤波处理之后不清楚,所以需要再对图像进行锐化处理
双边滤波:
function B = Bilateral(A,w,sigma_d,sigma_r) [X,Y] = meshgrid(-w:w,-w:w); G = exp(-(X.^2+Y.^2)/(2*sigma_d^2)); % Apply bilateral filter. dim = size(A); B = zeros(dim); for i = 1:dim(1) for j = 1:dim(2) % Extract local region. iMin = max(i-w,1); iMax = min(i+w,dim(1)); jMin = max(j-w,1); jMax = min(j+w,dim(2)); I = A(iMin:iMax,jMin:jMax); % Compute Gaussian intensity weights. H = exp(-(I-A(i,j)).^2/(2*sigma_r^2)); F = H.*G((iMin:iMax)-i+w+1,(jMin:jMax)-j+w+1); B(i,j) = sum(F(:).*I(:))/sum(F(:)); end end
nonlocal means
不是根据单个点之间相似程度,而是块与块之间的相似程度进行比较
w(p,q)表示的是块与块之间的距离,西格玛表示噪音的标准误差,h是和西格玛相关的数据集,论文中max里面的写错了,把0.0改为1.0。
图像处理复习整理(4.图像去噪)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。