Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
b12894d9
O
Opencv
项目概览
Greenplum
/
Opencv
12 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b12894d9
编写于
8月 13, 2013
作者:
R
Roman Donchenko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Boring changes - objdetect.
上级
de6a934f
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
39 addition
and
40 deletion
+39
-40
modules/objdetect/include/opencv2/objdetect.hpp
modules/objdetect/include/opencv2/objdetect.hpp
+1
-1
modules/objdetect/include/opencv2/objdetect/erfilter.hpp
modules/objdetect/include/opencv2/objdetect/erfilter.hpp
+2
-2
modules/objdetect/src/cascadedetect.cpp
modules/objdetect/src/cascadedetect.cpp
+12
-12
modules/objdetect/src/erfilter.cpp
modules/objdetect/src/erfilter.cpp
+4
-5
modules/objdetect/src/haar.cpp
modules/objdetect/src/haar.cpp
+6
-6
modules/objdetect/src/linemod.cpp
modules/objdetect/src/linemod.cpp
+11
-11
modules/objdetect/test/test_cascadeandhog.cpp
modules/objdetect/test/test_cascadeandhog.cpp
+3
-3
未找到文件。
modules/objdetect/include/opencv2/objdetect.hpp
浏览文件 @
b12894d9
...
...
@@ -141,7 +141,7 @@ public:
static
Ptr
<
FeatureEvaluator
>
create
(
int
type
);
};
template
<
>
CV_EXPORTS
void
Ptr
<
CvHaarClassifierCascade
>::
delete_obj
()
;
template
<
>
CV_EXPORTS
void
DefaultDeleter
<
CvHaarClassifierCascade
>::
operator
()(
CvHaarClassifierCascade
*
obj
)
const
;
enum
{
CASCADE_DO_CANNY_PRUNING
=
1
,
CASCADE_SCALE_IMAGE
=
2
,
...
...
modules/objdetect/include/opencv2/objdetect/erfilter.hpp
浏览文件 @
b12894d9
...
...
@@ -171,7 +171,7 @@ public:
\param nonMaxSuppression Whenever non-maximum suppression is done over the branch probabilities
\param minProbability The minimum probability difference between local maxima and local minima ERs
*/
CV_EXPORTS
Ptr
<
ERFilter
>
createERFilterNM1
(
const
Ptr
<
ERFilter
::
Callback
>&
cb
=
NULL
,
CV_EXPORTS
Ptr
<
ERFilter
>
createERFilterNM1
(
const
Ptr
<
ERFilter
::
Callback
>&
cb
=
Ptr
<
ERFilter
::
Callback
>
()
,
int
thresholdDelta
=
1
,
float
minArea
=
0.000025
,
float
maxArea
=
0.13
,
float
minProbability
=
0.2
,
bool
nonMaxSuppression
=
true
,
...
...
@@ -190,7 +190,7 @@ CV_EXPORTS Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb = N
if omitted tries to load a default classifier from file trained_classifierNM2.xml
\param minProbability The minimum probability P(er|character) allowed for retreived ER's
*/
CV_EXPORTS
Ptr
<
ERFilter
>
createERFilterNM2
(
const
Ptr
<
ERFilter
::
Callback
>&
cb
=
NULL
,
CV_EXPORTS
Ptr
<
ERFilter
>
createERFilterNM2
(
const
Ptr
<
ERFilter
::
Callback
>&
cb
=
Ptr
<
ERFilter
::
Callback
>
()
,
float
minProbability
=
0.85
);
}
...
...
modules/objdetect/src/cascadedetect.cpp
浏览文件 @
b12894d9
...
...
@@ -467,7 +467,7 @@ bool HaarEvaluator::Feature :: read( const FileNode& node )
HaarEvaluator
::
HaarEvaluator
()
{
features
=
new
std
::
vector
<
Feature
>
();
features
=
makePtr
<
std
::
vector
<
Feature
>
>
();
}
HaarEvaluator
::~
HaarEvaluator
()
{
...
...
@@ -492,7 +492,7 @@ bool HaarEvaluator::read(const FileNode& node)
Ptr
<
FeatureEvaluator
>
HaarEvaluator
::
clone
()
const
{
HaarEvaluator
*
ret
=
new
HaarEvaluator
;
Ptr
<
HaarEvaluator
>
ret
=
makePtr
<
HaarEvaluator
>
()
;
ret
->
origWinSize
=
origWinSize
;
ret
->
features
=
features
;
ret
->
featuresPtr
=
&
(
*
ret
->
features
)[
0
];
...
...
@@ -582,7 +582,7 @@ bool LBPEvaluator::Feature :: read(const FileNode& node )
LBPEvaluator
::
LBPEvaluator
()
{
features
=
new
std
::
vector
<
Feature
>
();
features
=
makePtr
<
std
::
vector
<
Feature
>
>
();
}
LBPEvaluator
::~
LBPEvaluator
()
{
...
...
@@ -603,7 +603,7 @@ bool LBPEvaluator::read( const FileNode& node )
Ptr
<
FeatureEvaluator
>
LBPEvaluator
::
clone
()
const
{
LBPEvaluator
*
ret
=
new
LBPEvaluator
;
Ptr
<
LBPEvaluator
>
ret
=
makePtr
<
LBPEvaluator
>
()
;
ret
->
origWinSize
=
origWinSize
;
ret
->
features
=
features
;
ret
->
featuresPtr
=
&
(
*
ret
->
features
)[
0
];
...
...
@@ -662,7 +662,7 @@ bool HOGEvaluator::Feature :: read( const FileNode& node )
HOGEvaluator
::
HOGEvaluator
()
{
features
=
new
std
::
vector
<
Feature
>
();
features
=
makePtr
<
std
::
vector
<
Feature
>
>
();
}
HOGEvaluator
::~
HOGEvaluator
()
...
...
@@ -684,7 +684,7 @@ bool HOGEvaluator::read( const FileNode& node )
Ptr
<
FeatureEvaluator
>
HOGEvaluator
::
clone
()
const
{
HOGEvaluator
*
ret
=
new
HOGEvaluator
;
Ptr
<
HOGEvaluator
>
ret
=
makePtr
<
HOGEvaluator
>
()
;
ret
->
origWinSize
=
origWinSize
;
ret
->
features
=
features
;
ret
->
featuresPtr
=
&
(
*
ret
->
features
)[
0
];
...
...
@@ -849,7 +849,7 @@ CascadeClassifier::~CascadeClassifier()
bool
CascadeClassifier
::
empty
()
const
{
return
oldCascade
.
empty
()
&&
data
.
stages
.
empty
();
return
!
oldCascade
&&
data
.
stages
.
empty
();
}
bool
CascadeClassifier
::
load
(
const
String
&
filename
)
...
...
@@ -867,13 +867,13 @@ bool CascadeClassifier::load(const String& filename)
fs
.
release
();
oldCascade
=
Ptr
<
CvHaarClassifierCascade
>
((
CvHaarClassifierCascade
*
)
cvLoad
(
filename
.
c_str
(),
0
,
0
,
0
));
oldCascade
.
reset
((
CvHaarClassifierCascade
*
)
cvLoad
(
filename
.
c_str
(),
0
,
0
,
0
));
return
!
oldCascade
.
empty
();
}
int
CascadeClassifier
::
runAt
(
Ptr
<
FeatureEvaluator
>&
evaluator
,
Point
pt
,
double
&
weight
)
{
CV_Assert
(
oldCascade
.
empty
()
);
CV_Assert
(
!
oldCascade
);
assert
(
data
.
featureType
==
FeatureEvaluator
::
HAAR
||
data
.
featureType
==
FeatureEvaluator
::
LBP
||
...
...
@@ -1022,7 +1022,7 @@ bool CascadeClassifier::detectSingleScale( const Mat& image, int stripCount, Siz
#endif
Mat
currentMask
;
if
(
!
maskGenerator
.
empty
()
)
{
if
(
maskGenerator
)
{
currentMask
=
maskGenerator
->
generateMask
(
image
);
}
...
...
@@ -1097,7 +1097,7 @@ void CascadeClassifier::detectMultiScaleNoGrouping( const Mat& image, std::vecto
{
candidates
.
clear
();
if
(
!
maskGenerator
.
empty
()
)
if
(
maskGenerator
)
maskGenerator
->
initializeMask
(
image
);
if
(
maxObjectSize
.
height
==
0
||
maxObjectSize
.
width
==
0
)
...
...
@@ -1350,7 +1350,7 @@ bool CascadeClassifier::read(const FileNode& root)
return
featureEvaluator
->
read
(
fn
);
}
template
<
>
void
Ptr
<
CvHaarClassifierCascade
>::
delete_obj
()
template
<
>
void
DefaultDeleter
<
CvHaarClassifierCascade
>::
operator
()(
CvHaarClassifierCascade
*
obj
)
const
{
cvReleaseHaarClassifierCascade
(
&
obj
);
}
}
// namespace cv
modules/objdetect/src/erfilter.cpp
浏览文件 @
b12894d9
...
...
@@ -179,7 +179,6 @@ ERFilterNM::ERFilterNM()
minProbabilityDiff
=
1.
;
num_accepted_regions
=
0
;
num_rejected_regions
=
0
;
classifier
=
NULL
;
}
// the key method. Takes image on input, vector of ERStat is output for the first stage,
...
...
@@ -1085,10 +1084,10 @@ Ptr<ERFilter> createERFilterNM1(const Ptr<ERFilter::Callback>& cb, int threshold
CV_Assert
(
(
thresholdDelta
>=
0
)
&&
(
thresholdDelta
<=
128
)
);
CV_Assert
(
(
minProbabilityDiff
>=
0.
)
&&
(
minProbabilityDiff
<=
1.
)
);
Ptr
<
ERFilterNM
>
filter
=
new
ERFilterNM
();
Ptr
<
ERFilterNM
>
filter
=
makePtr
<
ERFilterNM
>
();
if
(
cb
==
NULL
)
filter
->
setCallback
(
new
ERClassifierNM1
());
filter
->
setCallback
(
makePtr
<
ERClassifierNM1
>
());
else
filter
->
setCallback
(
cb
);
...
...
@@ -1119,11 +1118,11 @@ Ptr<ERFilter> createERFilterNM2(const Ptr<ERFilter::Callback>& cb, float minProb
CV_Assert
(
(
minProbability
>=
0.
)
&&
(
minProbability
<=
1.
)
);
Ptr
<
ERFilterNM
>
filter
=
new
ERFilterNM
();
Ptr
<
ERFilterNM
>
filter
=
makePtr
<
ERFilterNM
>
();
if
(
cb
==
NULL
)
filter
->
setCallback
(
new
ERClassifierNM2
());
filter
->
setCallback
(
makePtr
<
ERClassifierNM2
>
());
else
filter
->
setCallback
(
cb
);
...
...
modules/objdetect/src/haar.cpp
浏览文件 @
b12894d9
...
...
@@ -1536,15 +1536,15 @@ cvHaarDetectObjectsForROC( const CvArr* _img,
maxSize
.
width
=
img
->
cols
;
}
temp
=
cvCreateMat
(
img
->
rows
,
img
->
cols
,
CV_8UC1
);
sum
=
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
);
sqsum
=
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_64FC1
);
temp
.
reset
(
cvCreateMat
(
img
->
rows
,
img
->
cols
,
CV_8UC1
)
);
sum
.
reset
(
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
)
);
sqsum
.
reset
(
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_64FC1
)
);
if
(
!
cascade
->
hid_cascade
)
icvCreateHidHaarClassifierCascade
(
cascade
);
if
(
cascade
->
hid_cascade
->
has_tilted_features
)
tilted
=
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
);
tilted
.
reset
(
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
)
);
result_seq
=
cvCreateSeq
(
0
,
sizeof
(
CvSeq
),
sizeof
(
CvAvgComp
),
storage
);
...
...
@@ -1566,7 +1566,7 @@ cvHaarDetectObjectsForROC( const CvArr* _img,
if
(
use_ipp
)
normImg
=
cvCreateMat
(
img
->
rows
,
img
->
cols
,
CV_32FC1
);
#endif
imgSmall
=
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_8UC1
);
imgSmall
.
reset
(
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_8UC1
)
);
for
(
factor
=
1
;
;
factor
*=
scaleFactor
)
{
...
...
@@ -1635,7 +1635,7 @@ cvHaarDetectObjectsForROC( const CvArr* _img,
if
(
doCannyPruning
)
{
sumcanny
=
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
);
sumcanny
.
reset
(
cvCreateMat
(
img
->
rows
+
1
,
img
->
cols
+
1
,
CV_32SC1
)
);
cvCanny
(
img
,
temp
,
0
,
50
,
3
);
cvIntegral
(
temp
,
sumcanny
);
}
...
...
modules/objdetect/src/linemod.cpp
浏览文件 @
b12894d9
...
...
@@ -204,11 +204,11 @@ void QuantizedPyramid::selectScatteredFeatures(const std::vector<Candidate>& can
Ptr
<
Modality
>
Modality
::
create
(
const
String
&
modality_type
)
{
if
(
modality_type
==
"ColorGradient"
)
return
new
ColorGradient
();
return
makePtr
<
ColorGradient
>
();
else
if
(
modality_type
==
"DepthNormal"
)
return
new
DepthNormal
();
return
makePtr
<
DepthNormal
>
();
else
return
NULL
;
return
Ptr
<
Modality
>
()
;
}
Ptr
<
Modality
>
Modality
::
create
(
const
FileNode
&
fn
)
...
...
@@ -574,7 +574,7 @@ String ColorGradient::name() const
Ptr
<
QuantizedPyramid
>
ColorGradient
::
processImpl
(
const
Mat
&
src
,
const
Mat
&
mask
)
const
{
return
new
ColorGradientPyramid
(
src
,
mask
,
weak_threshold
,
num_features
,
strong_threshold
);
return
makePtr
<
ColorGradientPyramid
>
(
src
,
mask
,
weak_threshold
,
num_features
,
strong_threshold
);
}
void
ColorGradient
::
read
(
const
FileNode
&
fn
)
...
...
@@ -889,8 +889,8 @@ String DepthNormal::name() const
Ptr
<
QuantizedPyramid
>
DepthNormal
::
processImpl
(
const
Mat
&
src
,
const
Mat
&
mask
)
const
{
return
new
DepthNormalPyramid
(
src
,
mask
,
distance_threshold
,
difference_threshold
,
num_features
,
extract_threshold
);
return
makePtr
<
DepthNormalPyramid
>
(
src
,
mask
,
distance_threshold
,
difference_threshold
,
num_features
,
extract_threshold
);
}
void
DepthNormal
::
read
(
const
FileNode
&
fn
)
...
...
@@ -1828,16 +1828,16 @@ static const int T_DEFAULTS[] = {5, 8};
Ptr
<
Detector
>
getDefaultLINE
()
{
std
::
vector
<
Ptr
<
Modality
>
>
modalities
;
modalities
.
push_back
(
new
ColorGradient
);
return
new
Detector
(
modalities
,
std
::
vector
<
int
>
(
T_DEFAULTS
,
T_DEFAULTS
+
2
));
modalities
.
push_back
(
makePtr
<
ColorGradient
>
()
);
return
makePtr
<
Detector
>
(
modalities
,
std
::
vector
<
int
>
(
T_DEFAULTS
,
T_DEFAULTS
+
2
));
}
Ptr
<
Detector
>
getDefaultLINEMOD
()
{
std
::
vector
<
Ptr
<
Modality
>
>
modalities
;
modalities
.
push_back
(
new
ColorGradient
);
modalities
.
push_back
(
new
DepthNormal
);
return
new
Detector
(
modalities
,
std
::
vector
<
int
>
(
T_DEFAULTS
,
T_DEFAULTS
+
2
));
modalities
.
push_back
(
makePtr
<
ColorGradient
>
()
);
modalities
.
push_back
(
makePtr
<
DepthNormal
>
()
);
return
makePtr
<
Detector
>
(
modalities
,
std
::
vector
<
int
>
(
T_DEFAULTS
,
T_DEFAULTS
+
2
));
}
}
// namespace linemod
...
...
modules/objdetect/test/test_cascadeandhog.cpp
浏览文件 @
b12894d9
...
...
@@ -426,10 +426,10 @@ int CV_CascadeDetectorTest::detectMultiScale_C( const string& filename,
int
di
,
const
Mat
&
img
,
vector
<
Rect
>&
objects
)
{
Ptr
<
CvHaarClassifierCascade
>
c_cascade
=
cvLoadHaarClassifierCascade
(
filename
.
c_str
(),
cvSize
(
0
,
0
));
Ptr
<
CvMemStorage
>
storage
=
cvCreateMemStorage
(
);
Ptr
<
CvHaarClassifierCascade
>
c_cascade
(
cvLoadHaarClassifierCascade
(
filename
.
c_str
(),
cvSize
(
0
,
0
)
));
Ptr
<
CvMemStorage
>
storage
(
cvCreateMemStorage
()
);
if
(
c_cascade
.
empty
()
)
if
(
!
c_cascade
)
{
ts
->
printf
(
cvtest
::
TS
::
LOG
,
"cascade %s can not be opened"
);
return
cvtest
::
TS
::
FAIL_INVALID_TEST_DATA
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录