Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv_contrib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv_contrib
Commits
94e919eb
Commit
94e919eb
authored
Oct 04, 2016
by
Vladislav Sovrasov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Wrap all methods from ObjectnessBING, add create methods for all Saliency classes
parent
5b2d6a66
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
62 additions
and
22 deletions
+62
-22
saliencyBaseClasses.hpp
...saliency/include/opencv2/saliency/saliencyBaseClasses.hpp
+4
-4
saliencySpecializedClasses.hpp
...y/include/opencv2/saliency/saliencySpecializedClasses.hpp
+52
-14
objectnessBING.cpp
modules/saliency/src/BING/objectnessBING.cpp
+2
-2
staticSaliency.cpp
modules/saliency/src/staticSaliency.cpp
+4
-2
No files found.
modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp
View file @
94e919eb
...
...
@@ -84,7 +84,7 @@ class CV_EXPORTS_W Saliency : public virtual Algorithm
* \brief Get the name of the specific saliency type
* \return The name of the tracker initializer
*/
String
getClassName
()
const
;
CV_WRAP
String
getClassName
()
const
;
protected
:
...
...
@@ -109,10 +109,10 @@ class CV_EXPORTS_W StaticSaliency : public virtual Saliency
algorithm calculates the optimal threshold separating those two classes, so that their
intra-class variance is minimal.
@param saliencyMap the saliency map obtained through one of the specialized algorithms
@param binaryMap the binary map
@param
_
saliencyMap the saliency map obtained through one of the specialized algorithms
@param
_
binaryMap the binary map
*/
CV_WRAP
bool
computeBinaryMap
(
const
Mat
&
saliencyMap
,
Mat
&
binaryMap
);
CV_WRAP
bool
computeBinaryMap
(
InputArray
_saliencyMap
,
OutputArray
_
binaryMap
);
protected
:
virtual
bool
computeSaliencyImpl
(
InputArray
image
,
OutputArray
saliencyMap
)
=
0
;
...
...
modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp
View file @
94e919eb
...
...
@@ -42,7 +42,6 @@
#ifndef __OPENCV_SALIENCY_SPECIALIZED_CLASSES_HPP__
#define __OPENCV_SALIENCY_SPECIALIZED_CLASSES_HPP__
//#include "opencv2/saliency/kyheader.hpp"
#include <cstdio>
#include <string>
#include <iostream>
...
...
@@ -71,9 +70,22 @@ class CV_EXPORTS_W StaticSaliencySpectralResidual : public StaticSaliency
{
public
:
CV_WRAP
StaticSaliencySpectralResidual
();
StaticSaliencySpectralResidual
();
virtual
~
StaticSaliencySpectralResidual
();
CV_WRAP
static
Ptr
<
StaticSaliencySpectralResidual
>
create
()
{
return
makePtr
<
StaticSaliencySpectralResidual
>
();
}
CV_WRAP
bool
computeSaliency
(
InputArray
image
,
OutputArray
saliencyMap
)
{
if
(
image
.
empty
()
)
return
false
;
return
computeSaliencyImpl
(
image
,
saliencyMap
);
}
CV_WRAP
void
read
(
const
FileNode
&
fn
);
void
write
(
FileStorage
&
fs
)
const
;
...
...
@@ -115,9 +127,22 @@ protected:
class
CV_EXPORTS_W
MotionSaliencyBinWangApr2014
:
public
MotionSaliency
{
public
:
CV_WRAP
MotionSaliencyBinWangApr2014
();
MotionSaliencyBinWangApr2014
();
virtual
~
MotionSaliencyBinWangApr2014
();
CV_WRAP
static
Ptr
<
MotionSaliencyBinWangApr2014
>
create
()
{
return
makePtr
<
MotionSaliencyBinWangApr2014
>
();
}
CV_WRAP
bool
computeSaliency
(
InputArray
image
,
OutputArray
saliencyMap
)
{
if
(
image
.
empty
()
)
return
false
;
return
computeSaliencyImpl
(
image
,
saliencyMap
);
}
/** @brief This is a utility function that allows to set the correct size (taken from the input image) in the
corresponding variables that will be used to size the data structures of the algorithm.
@param W width of input image
...
...
@@ -205,11 +230,24 @@ class CV_EXPORTS_W ObjectnessBING : public Objectness
{
public
:
CV_WRAP
ObjectnessBING
();
ObjectnessBING
();
virtual
~
ObjectnessBING
();
void
read
();
void
write
()
const
;
CV_WRAP
static
Ptr
<
ObjectnessBING
>
create
()
{
return
makePtr
<
ObjectnessBING
>
();
}
CV_WRAP
bool
computeSaliency
(
InputArray
image
,
OutputArray
saliencyMap
)
{
if
(
image
.
empty
()
)
return
false
;
return
computeSaliencyImpl
(
image
,
saliencyMap
);
}
CV_WRAP
void
read
();
CV_WRAP
void
write
()
const
;
/** @brief Return the list of the rectangles' objectness value,
...
...
@@ -223,7 +261,7 @@ public:
the trained model.
@param trainingPath trained model path
*/
void
setTrainingPath
(
std
::
string
trainingPath
);
CV_WRAP
void
setTrainingPath
(
const
String
&
trainingPath
);
/** @brief This is a utility function that allows to set an arbitrary path in which the algorithm will save the
optional results
...
...
@@ -232,29 +270,29 @@ public:
each row).
@param resultsDir results' folder path
*/
void
setBBResDir
(
std
::
string
resultsDir
);
CV_WRAP
void
setBBResDir
(
const
String
&
resultsDir
);
double
getBase
()
const
CV_WRAP
double
getBase
()
const
{
return
_base
;
}
inline
void
setBase
(
double
val
)
CV_WRAP
inline
void
setBase
(
double
val
)
{
_base
=
val
;
}
int
getNSS
()
const
CV_WRAP
int
getNSS
()
const
{
return
_NSS
;
}
void
setNSS
(
int
val
)
CV_WRAP
void
setNSS
(
int
val
)
{
_NSS
=
val
;
}
int
getW
()
const
CV_WRAP
int
getW
()
const
{
return
_W
;
}
void
setW
(
int
val
)
CV_WRAP
void
setW
(
int
val
)
{
_W
=
val
;
}
...
...
modules/saliency/src/BING/objectnessBING.cpp
View file @
94e919eb
...
...
@@ -88,12 +88,12 @@ void ObjectnessBING::setColorSpace( int clr )
_bbResDir
=
_resultsDir
+
"/"
+
std
::
string
(
format
(
"BBoxesB%gW%d%s/"
,
_base
,
_W
,
_clrName
[
_Clr
]
).
c_str
()
);
}
void
ObjectnessBING
::
setTrainingPath
(
std
::
string
trainingPath
)
void
ObjectnessBING
::
setTrainingPath
(
const
String
&
trainingPath
)
{
_trainingPath
=
trainingPath
;
}
void
ObjectnessBING
::
setBBResDir
(
std
::
string
resultsDir
)
void
ObjectnessBING
::
setBBResDir
(
const
String
&
resultsDir
)
{
_resultsDir
=
resultsDir
;
}
...
...
modules/saliency/src/staticSaliency.cpp
View file @
94e919eb
...
...
@@ -50,9 +50,9 @@ namespace saliency
* StaticSaliency
*/
bool
StaticSaliency
::
computeBinaryMap
(
const
Mat
&
saliencyMap
,
Mat
&
B
inaryMap
)
bool
StaticSaliency
::
computeBinaryMap
(
InputArray
_saliencyMap
,
OutputArray
_b
inaryMap
)
{
Mat
saliencyMap
=
_saliencyMap
.
getMat
();
Mat
labels
=
Mat
::
zeros
(
saliencyMap
.
rows
*
saliencyMap
.
cols
,
1
,
1
);
Mat
samples
=
Mat_
<
float
>
(
saliencyMap
.
rows
*
saliencyMap
.
cols
,
1
);
Mat
centers
;
...
...
@@ -90,6 +90,8 @@ bool StaticSaliency::computeBinaryMap( const Mat& saliencyMap, Mat& BinaryMap )
outputMat
.
convertTo
(
outputMat
,
CV_8U
);
// adaptative thresholding using Otsu's method, to make saliency map binary
_binaryMap
.
createSameSize
(
outputMat
,
outputMat
.
type
());
Mat
BinaryMap
=
_binaryMap
.
getMat
();
threshold
(
outputMat
,
BinaryMap
,
0
,
255
,
THRESH_BINARY
|
THRESH_OTSU
);
return
true
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment