显著性检测⽅法SR(谱残余⽅法)
该⽅法是基于频域的。详细见原⽂
⾸先将图像进⾏傅⾥叶变换,变换到频率域,计算幅度谱和相位谱。
然后将幅度谱变为对数谱(对幅度谱取对数),再对对数谱进⾏线性空间滤波(3*3的均值滤波),对两者做差,得到剩余谱
利⽤剩余谱和相位谱进⾏反向傅⾥叶变换,得到显著图。进⾏线性空间滤波(8*8的均值为8的⾼斯滤波器)
再进⾏归⼀化,得到最终的显著图。
【MATLAB实现】
Image = imread(‘a.jpg’);
inImg = im2double(rgb2gray(Image));
myFFT = fft2(inImg);
matlab傅里叶变换的幅度谱和相位谱myLogAmplitude = log(abs(myFFT));
myPhase = angle(myFFT);
mySpectralResidual = myLogAmplitude - imfilter(myLogAmplitude, fspecial('average', 3), 'replicate'); saliencyMap = abs(ifft2(exp(mySpectralResidual+i*myPhase))).^2;
saliencyMap = mat2gray(imfilter(saliencyMap, fspecial('gaussian', [8, 8], 8)));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论