This folder contains a Python implementation of the Salient Region Detector code as part of the image processing part of eStep. The software conforms with the eStep standards.
The original MATLAB implementation can be found at this repository
Documentation can be found on Read the Docs.
The repository contains the following sub-folders:
Several iPython notebooks testing and illustrating major functionality.
The module for salient region detection functionality.
Unit tests for the code in salientregions.
- Python 2.7 or 3.5
- pip (8.1.2)
pip install salientregions
Afterwards you can import it in Python:
import salientregions as sr
Clone or download repo. Install requirements from requirements.txt file:
pip install -r requirements.txt
Install the package itself:
pip install .
To perform tests:
nosetests test
OpenCV should be installed via pip, but if you have an older version of pip, you might need to install it manually. There is two ways to install OpenCV:
- If you're using Conda, you can install OpenCV with the following command:
conda install -c https://conda.anaconda.org/menpo opencv3
- Otherwise, follow the instructions to install OpenCV 3.1.0 manually
The source code documentation can be found here
This code makes heavily use of the OpenCV library, so in order to understand how the code works, it helps to have a look at the OpenCV Documentation.
In OpenCV, images are represented as numpy arrays. Grayscale images are represented by a 2-dimensional array. Color images have a third dimension for the color channel. The Salient Region Detector has a few simplifying assumptions:
- Color images have BGR channels
- Images are assumed to be 8-bit. This is also the case for binary images, so they only have values of 0 and 255.
The complete functionality of the salient region detectors are found in the Detector object. The SalientDetector implements DMSR detection, and MSSRDetector implements MSSR detection (see referred papers for more information about these algorithms). An example of how to use the Detector can be found in this iPython Notebook.
If you want to contribute to the code, please have a look at the eStep standarts.
We use numpy-style code documentation.
Ranguelova, E. A Salient Region Detector for Structured Images. Proceedings of International Conference on Computer Systems and Applications (AICCSA), 2016, p.1–8, DOI: 10.1109/AICCSA.2016.7945643