Table Of Contents

Previous topic

Saliency categories

Next topic

Motion Saliency Algorithms

Static Saliency algorithms

Algorithms belonging to this category, exploit different image features that allow to detect salient objects in a non dynamic scenarios.

Presently, the Spectral Residual approach [SR] has been implemented.

[SR]Hou, Xiaodi, and Liqing Zhang. “Saliency detection: A spectral residual approach.” Computer Vision and Pattern Recognition, 2007. CVPR‘07. IEEE Conference on. IEEE, 2007.


Starting from the principle of natural image statistics, this method simulate the behavior of pre-attentive visual search. The algorithm analyze the log spectrum of each image and obtain the spectral residual. Then transform the spectral residual to spatial domain to obtain the saliency map, which suggests the positions of proto-objects.

class StaticSaliencySpectralResidual

Implementation of SpectralResidual from StaticSaliency:

class CV_EXPORTS StaticSaliencySpectralResidual : public StaticSaliency


  typedef Ptr<Size> (Algorithm::*SizeGetter)();
  typedef void (Algorithm::*SizeSetter)( const Ptr<Size> & );

  Ptr<Size> getWsize();
  void setWsize( const Ptr<Size> &newSize );

  void read( const FileNode& fn );
  void write( FileStorage& fs ) const;

  bool computeSaliencyImpl( const InputArray src, OutputArray dst );




C++: StaticSaliencySpectralResidual::StaticSaliencySpectralResidual()


Return the resized image size.

C++: Ptr<Size> StaticSaliencySpectralResidual::getWsize()


Set the dimension to which the image should be resized.

C++: StaticSaliencySpectralResidual::void setWsize(const Ptr<Size>& newSize)
  • newSize – dimension to which the image should be resized


Performs all the operations and calls all internal functions necessary for the accomplishment of spectral residual saliency map.

C++: bool StaticSaliencySpectralResidual::computeSaliency(const InputArray image, OutputArray saliencyMap)
  • image – input image. According to the needs of this specialized saliency algorithm, the param image is a single Mat
  • saliencyMap – saliency map. According to the result given by this specialized saliency algorithm, the saliency map is a single Mat