Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
8c55d7be
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
8c55d7be
编写于
4月 03, 2015
作者:
A
Andrew Senin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ximea camera fix (see issue #4235)
上级
f6de0171
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
5 deletion
+22
-5
modules/highgui/src/cap_ximea.cpp
modules/highgui/src/cap_ximea.cpp
+22
-5
未找到文件。
modules/highgui/src/cap_ximea.cpp
浏览文件 @
8c55d7be
...
...
@@ -52,7 +52,15 @@ CvCapture* cvCreateCameraCapture_XIMEA( int index )
// Enumerate connected devices
void
CvCaptureCAM_XIMEA
::
init
()
{
#if defined WIN32 || defined _WIN32
xiGetNumberDevices
(
&
numDevices
);
#else
// try second re-enumeration if first one fails
if
(
xiGetNumberDevices
(
&
numDevices
)
!=
XI_OK
)
{
xiGetNumberDevices
(
&
numDevices
);
}
#endif
hmv
=
NULL
;
frame
=
NULL
;
timeout
=
0
;
...
...
@@ -73,8 +81,17 @@ bool CvCaptureCAM_XIMEA::open( int wIndex )
if
((
mvret
=
xiOpenDevice
(
wIndex
,
&
hmv
))
!=
XI_OK
)
{
#if defined WIN32 || defined _WIN32
errMsg
(
"Open XI_DEVICE failed"
,
mvret
);
return
false
;
#else
// try opening second time if first fails
if
((
mvret
=
xiOpenDevice
(
wIndex
,
&
hmv
))
!=
XI_OK
)
{
errMsg
(
"Open XI_DEVICE failed"
,
mvret
);
return
false
;
}
#endif
}
int
width
=
0
;
...
...
@@ -204,7 +221,7 @@ void CvCaptureCAM_XIMEA::resetCvImage()
xiGetParamInt
(
hmv
,
XI_PRM_HEIGHT
,
&
height
);
xiGetParamInt
(
hmv
,
XI_PRM_IMAGE_DATA_FORMAT
,
&
format
);
if
(
(
int
)
image
.
width
!=
frame
->
width
||
(
int
)
image
.
height
!=
frame
->
height
||
image
.
frm
!=
(
XI_IMG_FORMAT
)
format
)
if
(
(
int
)
image
.
width
!=
width
||
(
int
)
image
.
height
!=
height
||
image
.
frm
!=
(
XI_IMG_FORMAT
)
format
)
{
if
(
frame
)
cvReleaseImage
(
&
frame
);
frame
=
NULL
;
...
...
@@ -260,7 +277,7 @@ double CvCaptureCAM_XIMEA::getProperty( int property_id )
case
CV_CAP_PROP_XI_AUTO_WB
:
xiGetParamInt
(
hmv
,
XI_PRM_AUTO_WB
,
&
ival
);
return
ival
;
case
CV_CAP_PROP_XI_AEAG
:
xiGetParamInt
(
hmv
,
XI_PRM_AEAG
,
&
ival
);
return
ival
;
case
CV_CAP_PROP_XI_EXP_PRIORITY
:
xiGetParamFloat
(
hmv
,
XI_PRM_EXP_PRIORITY
,
&
fval
);
return
fval
;
case
CV_CAP_PROP_XI_AE_MAX_LIMIT
:
xiGetParamInt
(
hmv
,
XI_PRM_
AE_MAX_LIMIT
,
&
ival
);
return
ival
;
case
CV_CAP_PROP_XI_AE_MAX_LIMIT
:
xiGetParamInt
(
hmv
,
XI_PRM_
EXP_PRIORITY
,
&
ival
);
return
ival
;
case
CV_CAP_PROP_XI_AG_MAX_LIMIT
:
xiGetParamFloat
(
hmv
,
XI_PRM_AG_MAX_LIMIT
,
&
fval
);
return
fval
;
case
CV_CAP_PROP_XI_AEAG_LEVEL
:
xiGetParamInt
(
hmv
,
XI_PRM_AEAG_LEVEL
,
&
ival
);
return
ival
;
case
CV_CAP_PROP_XI_TIMEOUT
:
return
timeout
;
...
...
@@ -293,7 +310,7 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
case
CV_CAP_PROP_XI_OFFSET_Y
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_OFFSET_Y
,
ival
);
break
;
case
CV_CAP_PROP_XI_TRG_SOURCE
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_TRG_SOURCE
,
ival
);
break
;
case
CV_CAP_PROP_XI_GPI_SELECTOR
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_GPI_SELECTOR
,
ival
);
break
;
case
CV_CAP_PROP_XI_TRG_SOFTWARE
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_TRG_SO
FTWAR
E
,
1
);
break
;
case
CV_CAP_PROP_XI_TRG_SOFTWARE
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_TRG_SO
URC
E
,
1
);
break
;
case
CV_CAP_PROP_XI_GPI_MODE
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_GPI_MODE
,
ival
);
break
;
case
CV_CAP_PROP_XI_GPI_LEVEL
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_GPI_LEVEL
,
ival
);
break
;
case
CV_CAP_PROP_XI_GPO_SELECTOR
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_GPO_SELECTOR
,
ival
);
break
;
...
...
@@ -301,10 +318,10 @@ bool CvCaptureCAM_XIMEA::setProperty( int property_id, double value )
case
CV_CAP_PROP_XI_LED_SELECTOR
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_LED_SELECTOR
,
ival
);
break
;
case
CV_CAP_PROP_XI_LED_MODE
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_LED_MODE
,
ival
);
break
;
case
CV_CAP_PROP_XI_AUTO_WB
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_AUTO_WB
,
ival
);
break
;
case
CV_CAP_PROP_XI_MANUAL_WB
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_
MANUAL_WB
,
ival
);
break
;
case
CV_CAP_PROP_XI_MANUAL_WB
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_
LED_MODE
,
ival
);
break
;
case
CV_CAP_PROP_XI_AEAG
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_AEAG
,
ival
);
break
;
case
CV_CAP_PROP_XI_EXP_PRIORITY
:
mvret
=
xiSetParamFloat
(
hmv
,
XI_PRM_EXP_PRIORITY
,
fval
);
break
;
case
CV_CAP_PROP_XI_AE_MAX_LIMIT
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_
AE_MAX_LIMIT
,
ival
);
break
;
case
CV_CAP_PROP_XI_AE_MAX_LIMIT
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_
EXP_PRIORITY
,
ival
);
break
;
case
CV_CAP_PROP_XI_AG_MAX_LIMIT
:
mvret
=
xiSetParamFloat
(
hmv
,
XI_PRM_AG_MAX_LIMIT
,
fval
);
break
;
case
CV_CAP_PROP_XI_AEAG_LEVEL
:
mvret
=
xiSetParamInt
(
hmv
,
XI_PRM_AEAG_LEVEL
,
ival
);
break
;
case
CV_CAP_PROP_XI_TIMEOUT
:
timeout
=
ival
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录