首页 > 代码库 > Frequency-tuned Salient Region Detection MATLAB代码出错修改方法

Frequency-tuned Salient Region Detection MATLAB代码出错修改方法

论文:Frequency-tuned Salient Region Detection.CVPR.2009 

MATLAB代码出错:

Error using makecform>parseWPInput (line 389)
Expected input number 2, PROPERTYNAME, to match one of these strings:

AdaptedWhitePoint

The input, ‘‘whitepoint‘‘, did not match any of the valid strings.

Error in makecform>parseWPInputs (line 378)
wp = parseWPInput(varargin{2}, varargin{3}, valid_strings, ‘WP‘, 2);

Error in makecform>make_srgb2lab_cform (line 349)
wp = parseWPInputs(‘AdaptedWhitePoint‘, varargin{:});

Error in makecform (line 213)
c = make_srgb2lab_cform(varargin{:});

Error in FT_Saliency_CVPR2009 (line 36)
cform = makecform(‘srgb2lab‘, ‘whitepoint‘, whitepoint(‘d65‘));

修改如下:

cform = makecform(‘srgb2lab‘, ‘AdaptedWhitePoint‘, whitepoint(‘d65‘));

%---------------------------------------------------------% Copyright (c) 2009 Radhakrishna Achanta [EPFL]% Contact: firstname.lastname@epfl.ch%---------------------------------------------------------% Citation:% @InProceedings{LCAV-CONF-2009-012,%    author      = {Achanta, Radhakrishna and Hemami, Sheila and Estrada,%                  Francisco and S黶strunk, Sabine},%    booktitle   = {{IEEE} {I}nternational {C}onference on {C}omputer%                  {V}ision and {P}attern {R}ecognition},%    year        = 2009% }%---------------------------------------------------------% Please note that the saliency maps generated using this% code may be slightly different from those of the paper.% This seems to be because the RGB to Lab conversion is% different from the one used for the results in the C++ code.% The C++ code is available on the same page as this matlab% code (http://ivrg.epfl.ch/supplementary_material/RK_CVPR09/index.html)% One should preferably use the C++ as reference and use% this matlab implementation mostly as proof of concept% demo code.%---------------------------------------------------------%%%---------------------------------------------------------% Read image and blur it with a 3x3 or 5x5 Gaussian filter%---------------------------------------------------------img = imread(100\images\8.jpg);%Provide input image pathgfrgb = imfilter(img, fspecial(gaussian, 3, 3), symmetric, conv);%symmetric图像大小通过镜像反射其边界来扩展 conv通过使用卷积来完成%fspecial(gaussian, 3, 3)产生3*3高斯低通滤波器模板%---------------------------------------------------------% Perform sRGB to CIE Lab color space conversion (using D65)%---------------------------------------------------------%cform = makecform(srgb2lab, whitepoint, whitepoint(d65));cform = makecform(srgb2lab, AdaptedWhitePoint, whitepoint(d65));lab = applycform(gfrgb,cform);%---------------------------------------------------------% Compute Lab average values (note that in the paper this% average is found from the unblurred original image, but% the results are quite similar)%---------------------------------------------------------l = double(lab(:,:,1)); lm = mean(mean(l));a = double(lab(:,:,2)); am = mean(mean(a));b = double(lab(:,:,3)); bm = mean(mean(b));%---------------------------------------------------------% Finally compute the saliency map and display it.%---------------------------------------------------------sm = (l-lm).^2 + (a-am).^2 + (b-bm).^2;imshow(sm,[]);%---------------------------------------------------------

 效果图:

Frequency-tuned Salient Region Detection MATLAB代码出错修改方法