Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
4f24dc09
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
4f24dc09
编写于
3月 05, 2015
作者:
J
Jonathan Viney
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix KNN background subtraction not honoring width step.
上级
0b99f6bc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
42 deletion
+43
-42
modules/video/src/bgfg_KNN.cpp
modules/video/src/bgfg_KNN.cpp
+43
-42
未找到文件。
modules/video/src/bgfg_KNN.cpp
浏览文件 @
4f24dc09
...
...
@@ -458,10 +458,8 @@ CV_INLINE void
uchar
nShadowDetection
)
{
int
size
=
_src
.
rows
*
_src
.
cols
;
int
nchannels
=
CV_MAT_CN
(
_src
.
type
());
const
uchar
*
pDataCurrent
=
_src
.
ptr
(
0
);
uchar
*
pDataOutput
=
_dst
.
ptr
(
0
);
//model
uchar
*
m_aModel
=
_bgmodel
.
ptr
(
0
);
uchar
*
m_nNextLongUpdate
=
_nNextLongUpdate
.
ptr
(
0
);
...
...
@@ -509,48 +507,51 @@ CV_INLINE void
if
(
_nLongCounter
>=
m_nLongUpdate
)
_nLongCounter
=
0
;
//go through the image
for
(
long
i
=
0
;
i
<
size
;
i
++
)
long
i
=
0
;
for
(
long
y
=
0
;
y
<
_src
.
rows
;
y
++
)
{
const
uchar
*
data
=
pDataCurrent
;
pDataCurrent
=
pDataCurrent
+
nchannels
;
//update model+ background subtract
uchar
include
=
0
;
int
result
=
_cvCheckPixelBackgroundNP
(
i
,
data
,
nchannels
,
m_nN
,
m_aModel
,
m_fTb
,
m_nkNN
,
m_fTau
,
m_bShadowDetection
,
include
);
_cvUpdatePixelBackgroundNP
(
i
,
data
,
nchannels
,
m_nN
,
m_aModel
,
m_nNextLongUpdate
,
m_nNextMidUpdate
,
m_nNextShortUpdate
,
m_aModelIndexLong
,
m_aModelIndexMid
,
m_aModelIndexShort
,
m_nLongCounter
,
m_nMidCounter
,
m_nShortCounter
,
m_nLongUpdate
,
m_nMidUpdate
,
m_nShortUpdate
,
include
);
switch
(
result
)
for
(
long
x
=
0
;
x
<
_src
.
cols
;
x
++
)
{
case
0
:
//foreground
(
*
pDataOutput
)
=
255
;
break
;
case
1
:
//background
(
*
pDataOutput
)
=
0
;
break
;
case
2
:
//shadow
(
*
pDataOutput
)
=
nShadowDetection
;
break
;
const
uchar
*
data
=
_src
.
ptr
(
y
,
x
);
//update model+ background subtract
uchar
include
=
0
;
int
result
=
_cvCheckPixelBackgroundNP
(
i
,
data
,
nchannels
,
m_nN
,
m_aModel
,
m_fTb
,
m_nkNN
,
m_fTau
,
m_bShadowDetection
,
include
);
_cvUpdatePixelBackgroundNP
(
i
,
data
,
nchannels
,
m_nN
,
m_aModel
,
m_nNextLongUpdate
,
m_nNextMidUpdate
,
m_nNextShortUpdate
,
m_aModelIndexLong
,
m_aModelIndexMid
,
m_aModelIndexShort
,
m_nLongCounter
,
m_nMidCounter
,
m_nShortCounter
,
m_nLongUpdate
,
m_nMidUpdate
,
m_nShortUpdate
,
include
);
switch
(
result
)
{
case
0
:
//foreground
*
_dst
.
ptr
(
y
,
x
)
=
255
;
break
;
case
1
:
//background
*
_dst
.
ptr
(
y
,
x
)
=
0
;
break
;
case
2
:
//shadow
*
_dst
.
ptr
(
y
,
x
)
=
nShadowDetection
;
break
;
}
i
++
;
}
pDataOutput
++
;
}
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录